↑ Up

iProver---3.9.4.THM-CRf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : iProver---3.9.4
% Problem  : GEO205+1 : TPTP v9.3.1. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_iprover 300 /export/starexec/sandbox/benchmark/theBenchmark.p THM

% Computer : n016.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8046.5625MB
% OS       : Linux 6.8.0-71-generic
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Fri Sep 25 01:20:19 PM UTC 2026

% Result   : Theorem 2.10s 1.16s
% Output   : CNFRefutation 2.10s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   20
%            Number of leaves      :   10
% Syntax   : Number of formulae    :   74 (  20 unt;   2 def)
%            Number of atoms       :  217 (   2 equ)
%            Maximal formula atoms :    6 (   2 avg)
%            Number of connectives :  181 (  68   ~;  94   |;  11   &)
%                                         (   0 <=>;   8  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   11 (   5 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of types       :    1 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of predicates  :    8 (   6 usr;   3 prp; 0-2 aty)
%            Number of functors    :    4 (   4 usr;   3 con; 0-2 aty)
%            Number of variables   :  112 (   0 sgn 106   !;   6   ?;  34   :)

% Comments : 
%------------------------------------------------------------------------------
fof(f3,axiom,
    ! [X0] : ~ convergent_lines(X0,X0),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',apart3) ).

fof(f6,axiom,
    ! [X0,X1,X2] :
      ( convergent_lines(X0,X1)
     => ( convergent_lines(X1,X2)
        | convergent_lines(X0,X2) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',ax6) ).

fof(f9,axiom,
    ! [X0,X1] :
      ( convergent_lines(X0,X1)
     => ~ apart_point_and_line(intersection_point(X0,X1),X0) ),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',ci3) ).

fof(f10,axiom,
    ! [X0,X1] :
      ( convergent_lines(X0,X1)
     => ~ apart_point_and_line(intersection_point(X0,X1),X1) ),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',ci4) ).

fof(f11,axiom,
    ! [X0,X1,X2,X3] :
      ( ( distinct_lines(X2,X3)
        & distinct_points(X0,X1) )
     => ( apart_point_and_line(X1,X3)
        | apart_point_and_line(X1,X2)
        | apart_point_and_line(X0,X3)
        | apart_point_and_line(X0,X2) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',cu1) ).

fof(f13,axiom,
    ! [X0,X1,X2] :
      ( apart_point_and_line(X0,X1)
     => ( apart_point_and_line(X0,X2)
        | distinct_lines(X1,X2) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',ceq2) ).

fof(f14,axiom,
    ! [X0,X1,X2] :
      ( convergent_lines(X0,X1)
     => ( convergent_lines(X0,X2)
        | distinct_lines(X1,X2) ) ),
    file('/export/starexec/sandbox/benchmark/Axioms/GEO006+0.ax',ceq3) ).

fof(f15,conjecture,
    ! [X0,X1,X2] :
      ( ( ~ distinct_lines(X1,X2)
        & convergent_lines(X0,X1) )
     => ( ~ distinct_points(intersection_point(X0,X1),intersection_point(X0,X2))
        & convergent_lines(X0,X2) ) ),
    file('/export/starexec/sandbox/benchmark/theBenchmark.p',con) ).

fof(f16,negated_conjecture,
    ~ ! [X0,X1,X2] :
        ( ( ~ distinct_lines(X1,X2)
          & convergent_lines(X0,X1) )
       => ( ~ distinct_points(intersection_point(X0,X1),intersection_point(X0,X2))
          & convergent_lines(X0,X2) ) ),
    inference(negated_conjecture,[status(cth)],[f15]) ).

fof(f21,plain,
    ! [X0,X1,X2] :
      ( ~ convergent_lines(X0,X1)
      | convergent_lines(X1,X2)
      | convergent_lines(X0,X2) ),
    inference(ennf_transformation,[],[f6]) ).

fof(f22,plain,
    ! [X0,X1,X2] :
      ( ~ convergent_lines(X0,X1)
      | convergent_lines(X1,X2)
      | convergent_lines(X0,X2) ),
    inference(flattening,[],[f21]) ).

fof(f25,plain,
    ! [X0,X1] :
      ( ~ convergent_lines(X0,X1)
      | ~ apart_point_and_line(intersection_point(X0,X1),X0) ),
    inference(ennf_transformation,[],[f9]) ).

fof(f26,plain,
    ! [X0,X1] :
      ( ~ convergent_lines(X0,X1)
      | ~ apart_point_and_line(intersection_point(X0,X1),X1) ),
    inference(ennf_transformation,[],[f10]) ).

fof(f27,plain,
    ! [X0,X1,X2,X3] :
      ( ~ distinct_lines(X2,X3)
      | ~ distinct_points(X0,X1)
      | apart_point_and_line(X1,X3)
      | apart_point_and_line(X1,X2)
      | apart_point_and_line(X0,X3)
      | apart_point_and_line(X0,X2) ),
    inference(ennf_transformation,[],[f11]) ).

fof(f28,plain,
    ! [X0,X1,X2,X3] :
      ( ~ distinct_lines(X2,X3)
      | ~ distinct_points(X0,X1)
      | apart_point_and_line(X1,X3)
      | apart_point_and_line(X1,X2)
      | apart_point_and_line(X0,X3)
      | apart_point_and_line(X0,X2) ),
    inference(flattening,[],[f27]) ).

fof(f31,plain,
    ! [X0,X1,X2] :
      ( ~ apart_point_and_line(X0,X1)
      | apart_point_and_line(X0,X2)
      | distinct_lines(X1,X2) ),
    inference(ennf_transformation,[],[f13]) ).

fof(f32,plain,
    ! [X0,X1,X2] :
      ( ~ apart_point_and_line(X0,X1)
      | apart_point_and_line(X0,X2)
      | distinct_lines(X1,X2) ),
    inference(flattening,[],[f31]) ).

fof(f33,plain,
    ! [X0,X1,X2] :
      ( ~ convergent_lines(X0,X1)
      | convergent_lines(X0,X2)
      | distinct_lines(X1,X2) ),
    inference(ennf_transformation,[],[f14]) ).

fof(f34,plain,
    ! [X0,X1,X2] :
      ( ~ convergent_lines(X0,X1)
      | convergent_lines(X0,X2)
      | distinct_lines(X1,X2) ),
    inference(flattening,[],[f33]) ).

fof(f35,plain,
    ? [X0,X1,X2] :
      ( ~ distinct_lines(X1,X2)
      & convergent_lines(X0,X1)
      & ( distinct_points(intersection_point(X0,X1),intersection_point(X0,X2))
        | ~ convergent_lines(X0,X2) ) ),
    inference(ennf_transformation,[],[f16]) ).

fof(f36,plain,
    ? [X0,X1,X2] :
      ( ~ distinct_lines(X1,X2)
      & convergent_lines(X0,X1)
      & ( distinct_points(intersection_point(X0,X1),intersection_point(X0,X2))
        | ~ convergent_lines(X0,X2) ) ),
    inference(flattening,[],[f35]) ).

fof(f37,plain,
    ( ~ distinct_lines(sK1,sK2)
    & convergent_lines(sK0,sK1)
    & ( distinct_points(intersection_point(sK0,sK1),intersection_point(sK0,sK2))
      | ~ convergent_lines(sK0,sK2) ) ),
    inference(skolemize,[status(esa),new_symbols(skolem,[sK0,sK1,sK2]),skolemize(X0,sK0),skolemize(X1,sK1),skolemize(X2,sK2)],[f36]) ).

fof(f40,plain,
    ! [X0] : ~ convergent_lines(X0,X0),
    inference(cnf_transformation,[],[f3]) ).

fof(f43,plain,
    ! [X2,X0,X1] :
      ( ~ convergent_lines(X0,X1)
      | convergent_lines(X1,X2)
      | convergent_lines(X0,X2) ),
    inference(cnf_transformation,[],[f22]) ).

fof(f46,plain,
    ! [X0,X1] :
      ( ~ convergent_lines(X0,X1)
      | ~ apart_point_and_line(intersection_point(X0,X1),X0) ),
    inference(cnf_transformation,[],[f25]) ).

fof(f47,plain,
    ! [X0,X1] :
      ( ~ convergent_lines(X0,X1)
      | ~ apart_point_and_line(intersection_point(X0,X1),X1) ),
    inference(cnf_transformation,[],[f26]) ).

fof(f48,plain,
    ! [X2,X3,X0,X1] :
      ( ~ distinct_lines(X2,X3)
      | ~ distinct_points(X0,X1)
      | apart_point_and_line(X1,X3)
      | apart_point_and_line(X1,X2)
      | apart_point_and_line(X0,X3)
      | apart_point_and_line(X0,X2) ),
    inference(cnf_transformation,[],[f28]) ).

fof(f50,plain,
    ! [X2,X0,X1] :
      ( ~ apart_point_and_line(X0,X1)
      | apart_point_and_line(X0,X2)
      | distinct_lines(X1,X2) ),
    inference(cnf_transformation,[],[f32]) ).

fof(f51,plain,
    ! [X2,X0,X1] :
      ( ~ convergent_lines(X0,X1)
      | convergent_lines(X0,X2)
      | distinct_lines(X1,X2) ),
    inference(cnf_transformation,[],[f34]) ).

fof(f52,plain,
    ~ distinct_lines(sK1,sK2),
    inference(cnf_transformation,[],[f37]) ).

fof(f53,plain,
    convergent_lines(sK0,sK1),
    inference(cnf_transformation,[],[f37]) ).

fof(f54,plain,
    ( distinct_points(intersection_point(sK0,sK1),intersection_point(sK0,sK2))
    | ~ convergent_lines(sK0,sK2) ),
    inference(cnf_transformation,[],[f37]) ).

tcf(c_51,plain,
    ! [X0: $i] : ~ convergent_lines(X0,X0),
    inference(cnf_transformation,[],[f40]) ).

tcf(c_54,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( convergent_lines(X1,X2)
      | convergent_lines(X0,X2)
      | ~ convergent_lines(X0,X1) ),
    inference(cnf_transformation,[],[f43]) ).

tcf(c_57,plain,
    ! [X0: $i,X1: $i] :
      ( ~ convergent_lines(X0,X1)
      | ~ apart_point_and_line(intersection_point(X0,X1),X0) ),
    inference(cnf_transformation,[],[f46]) ).

tcf(c_58,plain,
    ! [X0: $i,X1: $i] :
      ( ~ convergent_lines(X0,X1)
      | ~ apart_point_and_line(intersection_point(X0,X1),X1) ),
    inference(cnf_transformation,[],[f47]) ).

tcf(c_59,plain,
    ! [X0: $i,X1: $i,X2: $i,X3: $i] :
      ( apart_point_and_line(X1,X3)
      | apart_point_and_line(X1,X2)
      | apart_point_and_line(X0,X3)
      | apart_point_and_line(X0,X2)
      | ~ distinct_lines(X2,X3)
      | ~ distinct_points(X0,X1) ),
    inference(cnf_transformation,[],[f48]) ).

tcf(c_61,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( apart_point_and_line(X0,X2)
      | distinct_lines(X1,X2)
      | ~ apart_point_and_line(X0,X1) ),
    inference(cnf_transformation,[],[f50]) ).

tcf(c_62,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( convergent_lines(X0,X2)
      | distinct_lines(X1,X2)
      | ~ convergent_lines(X0,X1) ),
    inference(cnf_transformation,[],[f51]) ).

tcf(c_63,negated_conjecture,
    ( distinct_points(intersection_point(sK0,sK1),intersection_point(sK0,sK2))
    | ~ convergent_lines(sK0,sK2) ),
    inference(cnf_transformation,[],[f54]) ).

tcf(c_64,negated_conjecture,
    convergent_lines(sK0,sK1),
    inference(cnf_transformation,[],[f53]) ).

tcf(c_65,negated_conjecture,
    ~ distinct_lines(sK1,sK2),
    inference(cnf_transformation,[],[f52]) ).

tcf(c_147,definition,
    iPr_def_10 = intersection_point(sK0,sK1),
    introduced(definition,[new_symbols(definition,[iPr_def_10])],[]) ).

tcf(c_148,definition,
    iPr_def_11 = intersection_point(sK0,sK2),
    introduced(definition,[new_symbols(definition,[iPr_def_11])],[]) ).

tcf(c_149,negated_conjecture,
    ~ distinct_lines(sK1,sK2),
    inference(demodulation,[status(thm)],[c_65]) ).

tcf(c_150,negated_conjecture,
    convergent_lines(sK0,sK1),
    inference(demodulation,[status(thm)],[c_64]) ).

tcf(c_151,negated_conjecture,
    ( distinct_points(iPr_def_10,iPr_def_11)
    | ~ convergent_lines(sK0,sK2) ),
    inference(demodulation,[status(thm)],[c_63,c_148,c_147]) ).

tcf(c_441,plain,
    ! [X0: $i] :
      ( convergent_lines(sK1,X0)
      | convergent_lines(sK0,X0) ),
    inference(superposition,[status(thm)],[c_150,c_54]) ).

tcf(c_458,plain,
    ! [X0: $i,X1: $i] :
      ( convergent_lines(sK1,X1)
      | convergent_lines(sK0,X0)
      | convergent_lines(X0,X1) ),
    inference(superposition,[status(thm)],[c_441,c_54]) ).

tcf(c_471,plain,
    ! [X0: $i,X1: $i,X2: $i] :
      ( convergent_lines(sK1,X1)
      | convergent_lines(sK0,X2)
      | convergent_lines(X0,X2)
      | convergent_lines(X0,X1) ),
    inference(superposition,[status(thm)],[c_458,c_54]) ).

tcf(c_479,plain,
    ( convergent_lines(sK1,sK0)
    | convergent_lines(sK0,sK0) ),
    inference(equality_factoring,[status(thm)],[c_458]) ).

tcf(c_480,plain,
    convergent_lines(sK1,sK0),
    inference(forward_subsumption_resolution,[status(thm)],[c_479,c_51]) ).

tcf(c_700,plain,
    ( ~ apart_point_and_line(iPr_def_10,sK0)
    | ~ convergent_lines(sK0,sK1) ),
    inference(superposition,[status(thm)],[c_147,c_57]) ).

tcf(c_701,plain,
    ( ~ apart_point_and_line(iPr_def_11,sK0)
    | ~ convergent_lines(sK0,sK2) ),
    inference(superposition,[status(thm)],[c_148,c_57]) ).

tcf(c_704,plain,
    ~ apart_point_and_line(iPr_def_10,sK0),
    inference(forward_subsumption_resolution,[status(thm)],[c_700,c_150]) ).

tcf(c_712,plain,
    ( ~ apart_point_and_line(iPr_def_10,sK1)
    | ~ convergent_lines(sK0,sK1) ),
    inference(superposition,[status(thm)],[c_147,c_58]) ).

tcf(c_713,plain,
    ( ~ apart_point_and_line(iPr_def_11,sK2)
    | ~ convergent_lines(sK0,sK2) ),
    inference(superposition,[status(thm)],[c_148,c_58]) ).

tcf(c_716,plain,
    ~ apart_point_and_line(iPr_def_10,sK1),
    inference(forward_subsumption_resolution,[status(thm)],[c_712,c_150]) ).

tcf(c_730,plain,
    ! [X0: $i] :
      ( convergent_lines(sK0,X0)
      | distinct_lines(sK1,X0)
      | ~ convergent_lines(sK0,sK1) ),
    inference(instantiation,[status(thm)],[c_62]) ).

tcf(c_815,plain,
    ! [X0: $i,X1: $i] :
      ( distinct_points(iPr_def_10,iPr_def_11)
      | convergent_lines(sK1,X1)
      | convergent_lines(X0,sK2)
      | convergent_lines(X0,X1) ),
    inference(superposition,[status(thm)],[c_471,c_151]) ).

tcf(c_871,plain,
    ( convergent_lines(sK0,sK2)
    | distinct_lines(sK1,sK2)
    | ~ convergent_lines(sK0,sK1) ),
    inference(instantiation,[status(thm)],[c_730]) ).

tcf(c_872,plain,
    distinct_points(iPr_def_10,iPr_def_11),
    inference(global_subsumption_just,[status(thm)],[c_815,c_64,c_65,c_151,c_871]) ).

tcf(c_998,plain,
    ! [X0: $i] :
      ( convergent_lines(sK0,X0)
      | distinct_lines(sK1,X0) ),
    inference(superposition,[status(thm)],[c_150,c_62]) ).

tcf(c_1004,plain,
    ! [X0: $i] :
      ( convergent_lines(sK1,X0)
      | distinct_lines(sK0,X0) ),
    inference(superposition,[status(thm)],[c_480,c_62]) ).

tcf(c_1151,plain,
    ! [X0: $i,X1: $i] :
      ( apart_point_and_line(iPr_def_11,X1)
      | apart_point_and_line(iPr_def_11,X0)
      | apart_point_and_line(iPr_def_10,X1)
      | apart_point_and_line(iPr_def_10,X0)
      | ~ distinct_lines(X0,X1) ),
    inference(superposition,[status(thm)],[c_872,c_59]) ).

tcf(c_1241,plain,
    convergent_lines(sK0,sK2),
    inference(superposition,[status(thm)],[c_998,c_149]) ).

tcf(c_1245,plain,
    ~ apart_point_and_line(iPr_def_11,sK0),
    inference(backward_subsumption_resolution,[status(thm)],[c_701,c_1241]) ).

tcf(c_1402,plain,
    ! [X0: $i] :
      ( apart_point_and_line(iPr_def_11,sK0)
      | apart_point_and_line(iPr_def_10,sK0)
      | apart_point_and_line(iPr_def_11,X0)
      | apart_point_and_line(iPr_def_10,X0)
      | convergent_lines(sK1,X0) ),
    inference(superposition,[status(thm)],[c_1004,c_1151]) ).

tcf(c_1410,plain,
    ! [X0: $i] :
      ( apart_point_and_line(iPr_def_11,X0)
      | apart_point_and_line(iPr_def_10,X0)
      | convergent_lines(sK1,X0) ),
    inference(forward_subsumption_resolution,[status(thm)],[c_1402,c_1245,c_704]) ).

tcf(c_1454,plain,
    ( apart_point_and_line(iPr_def_11,sK1)
    | apart_point_and_line(iPr_def_10,sK1) ),
    inference(superposition,[status(thm)],[c_1410,c_51]) ).

tcf(c_1457,plain,
    apart_point_and_line(iPr_def_11,sK1),
    inference(forward_subsumption_resolution,[status(thm)],[c_1454,c_716]) ).

tcf(c_1466,plain,
    ! [X0: $i] :
      ( apart_point_and_line(iPr_def_11,X0)
      | distinct_lines(sK1,X0) ),
    inference(superposition,[status(thm)],[c_1457,c_61]) ).

tcf(c_1638,plain,
    apart_point_and_line(iPr_def_11,sK2),
    inference(superposition,[status(thm)],[c_1466,c_149]) ).

tcf(c_1642,plain,
    $false,
    inference(prop_impl_just,[status(thm)],[c_1638,c_871,c_713,c_65,c_64]) ).


%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.02  % Problem  : GEO205+1 : TPTP v9.3.1. Released v3.3.0.
% 0.00/0.04  % Command  : run_iprover 300 /export/starexec/sandbox/benchmark/theBenchmark.p THM
% 0.08/0.36  % Computer : n016.cluster.edu
% 0.08/0.36  % Model    : x86_64 x86_64
% 0.08/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.08/0.36  % Memory   : 8046.5625MB
% 0.08/0.36  % OS       : Linux 6.8.0-71-generic
% 0.08/0.36  % CPULimit : 300
% 0.08/0.36  % WCLimit  : 300
% 0.08/0.36  % DateTime : Wed Sep 23 11:33:26 UTC 2026
% 0.08/0.36  % CPUTime  : 
% 0.08/0.36  Running run_iprover 300 /export/starexec/sandbox/benchmark/theBenchmark.p THM
% 0.08/0.40  Running first-order theorem proving
% 0.08/0.40  Running: /export/starexec/sandbox/solver/bin/iproveropt-multi-core.sh -d -n -l tptp -s fof_schedule -t 300 /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.08/0.41  
% 0.08/0.41  % ======== iProver multi-core TPTP/SMT =========
% 0.08/0.41  
% 0.08/0.41  % Detected problem language: tptp
% 0.08/0.42  % Proving...
% 2.10/1.16  % SZS status Started for theBenchmark.p
% 2.10/1.16  % SZS status Theorem for theBenchmark.p
% 2.10/1.16  
% 2.10/1.16  %---------------- iProver v3.9.4 (pre CASC 2026/SMT-COMP 2026) ----------------%
% 2.10/1.16  
% 2.10/1.16  % ------  iProver source info
% 2.10/1.16  
% 2.10/1.16  % git: date: 2026-07-19 20:42:38 +0200
% 2.10/1.16  % git: sha1: 804e7d636a263075307957e923b7a22a4035de61
% 2.10/1.16  % git: non_committed_changes: false
% 2.10/1.16  
% 2.10/1.16  % ------ Parsing...
% 2.10/1.16  % ------ Clausification by vclausify_rel  & Parsing by iProver...% 
% 2.10/1.16  
% 2.10/1.16  % ------ Preprocessing... sf_s  rm: 0 0s  sf_e  pe_s  pe_e % 
% 2.10/1.16  
% 2.10/1.16  % ------ Preprocessing... gs_s  sp: 0 0s  gs_e  snvd_s sp: 0 0s snvd_e % 
% 2.10/1.16  
% 2.10/1.16  % ------ Preprocessing... sf_s  rm: 1 0s  sf_e  sf_s  rm: 0 0s  sf_e 
% 2.10/1.16  % ------ Proving...
% 2.10/1.16  % ------ Problem Properties 
% 2.10/1.16  
% 2.10/1.16  % 
% 2.10/1.16  % clauses                               19
% 2.10/1.16  % conjectures                           3
% 2.10/1.16  % EPR                                   13
% 2.10/1.16  % Horn                                  12
% 2.10/1.16  % unary                                 7
% 2.10/1.16  % binary                                5
% 2.10/1.16  % lits                                  41
% 2.10/1.16  % lits eq                               2
% 2.10/1.16  % fd_pure                               0
% 2.10/1.16  % fd_pseudo                             0
% 2.10/1.16  % fd_cond                               0
% 2.10/1.16  % fd_pseudo_cond                        0
% 2.10/1.16  % AC symbols                            0
% 2.10/1.16  
% 2.10/1.16  % ------ Schedule dynamic 5 is on 
% 2.10/1.16  
% 2.10/1.16  % ------ Input Options "--resolution_flag false --inst_lit_sel_side none" Time Limit: 10.
% 2.10/1.16  
% 2.10/1.16  
% 2.10/1.16  % ------ 
% 2.10/1.16  % Current options:
% 2.10/1.16  % ------ 
% 2.10/1.16  
% 2.10/1.16  
% 2.10/1.16  % 
% 2.10/1.16  
% 2.10/1.16  % ------ Proving...
% 2.10/1.16  % 
% 2.10/1.16  
% 2.10/1.16  % SZS status Theorem for theBenchmark.p
% 2.10/1.16  
% 2.10/1.16  % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 2.10/1.17  
% 2.10/1.17  
%------------------------------------------------------------------------------