TSTP Solution File: GEO201+2 by iProver---3.9
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : iProver---3.9
% Problem : GEO201+2 : TPTP v8.1.2. Released v3.3.0.
% Transfm : none
% Format : tptp:raw
% Command : run_iprover %s %d THM
% Computer : n023.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Fri May 3 02:16:54 EDT 2024
% Result : Theorem 2.92s 1.19s
% Output : CNFRefutation 2.92s
% Verified :
% SZS Type : ERROR: Analysing output (Could not find formula named definition)
% Comments :
%------------------------------------------------------------------------------
fof(f1,axiom,
! [X0] : ~ distinct_points(X0,X0),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',apart1) ).
fof(f3,axiom,
! [X0] : ~ convergent_lines(X0,X0),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',apart3) ).
fof(f4,axiom,
! [X0,X1,X2] :
( distinct_points(X0,X1)
=> ( distinct_points(X1,X2)
| distinct_points(X0,X2) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',apart4) ).
fof(f6,axiom,
! [X0,X1,X2] :
( convergent_lines(X0,X1)
=> ( convergent_lines(X1,X2)
| convergent_lines(X0,X2) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',apart6) ).
fof(f8,axiom,
! [X0,X1,X2] :
( convergent_lines(X0,X1)
=> ( ( apart_point_and_line(X2,X1)
| apart_point_and_line(X2,X0) )
=> distinct_points(X2,intersection_point(X0,X1)) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',con2) ).
fof(f9,axiom,
! [X0,X1,X3,X4] :
( ( distinct_lines(X3,X4)
& distinct_points(X0,X1) )
=> ( apart_point_and_line(X1,X4)
| apart_point_and_line(X1,X3)
| apart_point_and_line(X0,X4)
| apart_point_and_line(X0,X3) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',cu1) ).
fof(f10,axiom,
! [X0,X1,X2] :
( apart_point_and_line(X0,X1)
=> ( apart_point_and_line(X2,X1)
| distinct_points(X0,X2) ) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ceq1) ).
fof(f12,axiom,
! [X0,X1] :
( convergent_lines(X0,X1)
=> distinct_lines(X0,X1) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',ceq3) ).
fof(f13,conjecture,
! [X0,X1] :
( convergent_lines(X0,X1)
=> ~ distinct_points(intersection_point(X0,X1),intersection_point(X1,X0)) ),
file('/export/starexec/sandbox/benchmark/theBenchmark.p',con) ).
fof(f14,negated_conjecture,
~ ! [X0,X1] :
( convergent_lines(X0,X1)
=> ~ distinct_points(intersection_point(X0,X1),intersection_point(X1,X0)) ),
inference(negated_conjecture,[],[f13]) ).
fof(f15,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(rectify,[],[f9]) ).
fof(f16,plain,
! [X0,X1,X2] :
( distinct_points(X1,X2)
| distinct_points(X0,X2)
| ~ distinct_points(X0,X1) ),
inference(ennf_transformation,[],[f4]) ).
fof(f17,plain,
! [X0,X1,X2] :
( distinct_points(X1,X2)
| distinct_points(X0,X2)
| ~ distinct_points(X0,X1) ),
inference(flattening,[],[f16]) ).
fof(f20,plain,
! [X0,X1,X2] :
( convergent_lines(X1,X2)
| convergent_lines(X0,X2)
| ~ convergent_lines(X0,X1) ),
inference(ennf_transformation,[],[f6]) ).
fof(f21,plain,
! [X0,X1,X2] :
( convergent_lines(X1,X2)
| convergent_lines(X0,X2)
| ~ convergent_lines(X0,X1) ),
inference(flattening,[],[f20]) ).
fof(f24,plain,
! [X0,X1,X2] :
( distinct_points(X2,intersection_point(X0,X1))
| ( ~ apart_point_and_line(X2,X1)
& ~ apart_point_and_line(X2,X0) )
| ~ convergent_lines(X0,X1) ),
inference(ennf_transformation,[],[f8]) ).
fof(f25,plain,
! [X0,X1,X2] :
( distinct_points(X2,intersection_point(X0,X1))
| ( ~ apart_point_and_line(X2,X1)
& ~ apart_point_and_line(X2,X0) )
| ~ convergent_lines(X0,X1) ),
inference(flattening,[],[f24]) ).
fof(f26,plain,
! [X0,X1,X2,X3] :
( 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(ennf_transformation,[],[f15]) ).
fof(f27,plain,
! [X0,X1,X2,X3] :
( 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(flattening,[],[f26]) ).
fof(f28,plain,
! [X0,X1,X2] :
( apart_point_and_line(X2,X1)
| distinct_points(X0,X2)
| ~ apart_point_and_line(X0,X1) ),
inference(ennf_transformation,[],[f10]) ).
fof(f29,plain,
! [X0,X1,X2] :
( apart_point_and_line(X2,X1)
| distinct_points(X0,X2)
| ~ apart_point_and_line(X0,X1) ),
inference(flattening,[],[f28]) ).
fof(f32,plain,
! [X0,X1] :
( distinct_lines(X0,X1)
| ~ convergent_lines(X0,X1) ),
inference(ennf_transformation,[],[f12]) ).
fof(f33,plain,
? [X0,X1] :
( distinct_points(intersection_point(X0,X1),intersection_point(X1,X0))
& convergent_lines(X0,X1) ),
inference(ennf_transformation,[],[f14]) ).
fof(f34,plain,
( ? [X0,X1] :
( distinct_points(intersection_point(X0,X1),intersection_point(X1,X0))
& convergent_lines(X0,X1) )
=> ( distinct_points(intersection_point(sK0,sK1),intersection_point(sK1,sK0))
& convergent_lines(sK0,sK1) ) ),
introduced(choice_axiom,[]) ).
fof(f35,plain,
( distinct_points(intersection_point(sK0,sK1),intersection_point(sK1,sK0))
& convergent_lines(sK0,sK1) ),
inference(skolemisation,[status(esa),new_symbols(skolem,[sK0,sK1])],[f33,f34]) ).
fof(f36,plain,
! [X0] : ~ distinct_points(X0,X0),
inference(cnf_transformation,[],[f1]) ).
fof(f38,plain,
! [X0] : ~ convergent_lines(X0,X0),
inference(cnf_transformation,[],[f3]) ).
fof(f39,plain,
! [X2,X0,X1] :
( distinct_points(X1,X2)
| distinct_points(X0,X2)
| ~ distinct_points(X0,X1) ),
inference(cnf_transformation,[],[f17]) ).
fof(f41,plain,
! [X2,X0,X1] :
( convergent_lines(X1,X2)
| convergent_lines(X0,X2)
| ~ convergent_lines(X0,X1) ),
inference(cnf_transformation,[],[f21]) ).
fof(f44,plain,
! [X2,X0,X1] :
( distinct_points(X2,intersection_point(X0,X1))
| ~ apart_point_and_line(X2,X0)
| ~ convergent_lines(X0,X1) ),
inference(cnf_transformation,[],[f25]) ).
fof(f45,plain,
! [X2,X0,X1] :
( distinct_points(X2,intersection_point(X0,X1))
| ~ apart_point_and_line(X2,X1)
| ~ convergent_lines(X0,X1) ),
inference(cnf_transformation,[],[f25]) ).
fof(f46,plain,
! [X2,X3,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)
| ~ distinct_lines(X2,X3)
| ~ distinct_points(X0,X1) ),
inference(cnf_transformation,[],[f27]) ).
fof(f47,plain,
! [X2,X0,X1] :
( apart_point_and_line(X2,X1)
| distinct_points(X0,X2)
| ~ apart_point_and_line(X0,X1) ),
inference(cnf_transformation,[],[f29]) ).
fof(f49,plain,
! [X0,X1] :
( distinct_lines(X0,X1)
| ~ convergent_lines(X0,X1) ),
inference(cnf_transformation,[],[f32]) ).
fof(f50,plain,
convergent_lines(sK0,sK1),
inference(cnf_transformation,[],[f35]) ).
fof(f51,plain,
distinct_points(intersection_point(sK0,sK1),intersection_point(sK1,sK0)),
inference(cnf_transformation,[],[f35]) ).
cnf(c_49,plain,
~ distinct_points(X0,X0),
inference(cnf_transformation,[],[f36]) ).
cnf(c_51,plain,
~ convergent_lines(X0,X0),
inference(cnf_transformation,[],[f38]) ).
cnf(c_52,plain,
( ~ distinct_points(X0,X1)
| distinct_points(X0,X2)
| distinct_points(X1,X2) ),
inference(cnf_transformation,[],[f39]) ).
cnf(c_54,plain,
( ~ convergent_lines(X0,X1)
| convergent_lines(X0,X2)
| convergent_lines(X1,X2) ),
inference(cnf_transformation,[],[f41]) ).
cnf(c_57,plain,
( ~ convergent_lines(X0,X1)
| ~ apart_point_and_line(X2,X1)
| distinct_points(X2,intersection_point(X0,X1)) ),
inference(cnf_transformation,[],[f45]) ).
cnf(c_58,plain,
( ~ convergent_lines(X0,X1)
| ~ apart_point_and_line(X2,X0)
| distinct_points(X2,intersection_point(X0,X1)) ),
inference(cnf_transformation,[],[f44]) ).
cnf(c_59,plain,
( ~ distinct_points(X0,X1)
| ~ distinct_lines(X2,X3)
| apart_point_and_line(X0,X2)
| apart_point_and_line(X0,X3)
| apart_point_and_line(X1,X2)
| apart_point_and_line(X1,X3) ),
inference(cnf_transformation,[],[f46]) ).
cnf(c_60,plain,
( ~ apart_point_and_line(X0,X1)
| distinct_points(X0,X2)
| apart_point_and_line(X2,X1) ),
inference(cnf_transformation,[],[f47]) ).
cnf(c_62,plain,
( ~ convergent_lines(X0,X1)
| distinct_lines(X0,X1) ),
inference(cnf_transformation,[],[f49]) ).
cnf(c_63,negated_conjecture,
distinct_points(intersection_point(sK0,sK1),intersection_point(sK1,sK0)),
inference(cnf_transformation,[],[f51]) ).
cnf(c_64,negated_conjecture,
convergent_lines(sK0,sK1),
inference(cnf_transformation,[],[f50]) ).
cnf(c_65,plain,
~ convergent_lines(sK0,sK0),
inference(instantiation,[status(thm)],[c_51]) ).
cnf(c_148,plain,
intersection_point(sK0,sK1) = sP0_iProver_def,
definition ).
cnf(c_149,plain,
intersection_point(sK1,sK0) = sP1_iProver_def,
definition ).
cnf(c_150,negated_conjecture,
convergent_lines(sK0,sK1),
inference(demodulation,[status(thm)],[c_64]) ).
cnf(c_151,negated_conjecture,
distinct_points(sP0_iProver_def,sP1_iProver_def),
inference(demodulation,[status(thm)],[c_63,c_149,c_148]) ).
cnf(c_152,plain,
X0 = X0,
theory(equality) ).
cnf(c_155,plain,
( X0 != X1
| X2 != X3
| ~ distinct_points(X1,X3)
| distinct_points(X0,X2) ),
theory(equality) ).
cnf(c_406,plain,
distinct_lines(sK0,sK1),
inference(superposition,[status(thm)],[c_150,c_62]) ).
cnf(c_429,plain,
( convergent_lines(sK0,X0)
| convergent_lines(sK1,X0) ),
inference(superposition,[status(thm)],[c_150,c_54]) ).
cnf(c_432,plain,
( convergent_lines(sK0,sK0)
| convergent_lines(sK1,sK0) ),
inference(instantiation,[status(thm)],[c_429]) ).
cnf(c_630,plain,
( ~ apart_point_and_line(X0,sK1)
| ~ convergent_lines(sK0,sK1)
| distinct_points(X0,intersection_point(sK0,sK1)) ),
inference(instantiation,[status(thm)],[c_57]) ).
cnf(c_685,plain,
( X0 != sP0_iProver_def
| X1 != sP1_iProver_def
| ~ distinct_points(sP0_iProver_def,sP1_iProver_def)
| distinct_points(X0,X1) ),
inference(instantiation,[status(thm)],[c_155]) ).
cnf(c_769,plain,
( ~ apart_point_and_line(X0,sK0)
| ~ convergent_lines(sK1,sK0)
| distinct_points(X0,sP1_iProver_def) ),
inference(superposition,[status(thm)],[c_149,c_57]) ).
cnf(c_793,plain,
( ~ apart_point_and_line(X0,sK1)
| ~ convergent_lines(sK1,sK0)
| distinct_points(X0,sP1_iProver_def) ),
inference(superposition,[status(thm)],[c_149,c_58]) ).
cnf(c_937,plain,
( intersection_point(sK0,sK1) != sP0_iProver_def
| X0 != sP1_iProver_def
| ~ distinct_points(sP0_iProver_def,sP1_iProver_def)
| distinct_points(intersection_point(sK0,sK1),X0) ),
inference(instantiation,[status(thm)],[c_685]) ).
cnf(c_950,plain,
( distinct_points(sP0_iProver_def,X0)
| distinct_points(sP1_iProver_def,X0) ),
inference(superposition,[status(thm)],[c_151,c_52]) ).
cnf(c_1111,plain,
( distinct_points(X0,X1)
| distinct_points(sP0_iProver_def,X0)
| distinct_points(sP1_iProver_def,X1) ),
inference(superposition,[status(thm)],[c_950,c_52]) ).
cnf(c_1450,plain,
( intersection_point(sK0,sK1) != sP0_iProver_def
| sP1_iProver_def != sP1_iProver_def
| ~ distinct_points(sP0_iProver_def,sP1_iProver_def)
| distinct_points(intersection_point(sK0,sK1),sP1_iProver_def) ),
inference(instantiation,[status(thm)],[c_937]) ).
cnf(c_1451,plain,
sP1_iProver_def = sP1_iProver_def,
inference(instantiation,[status(thm)],[c_152]) ).
cnf(c_1460,plain,
( distinct_points(X0,sP1_iProver_def)
| distinct_points(sP0_iProver_def,X0) ),
inference(superposition,[status(thm)],[c_1111,c_49]) ).
cnf(c_1495,plain,
( ~ apart_point_and_line(X0,X1)
| ~ convergent_lines(X1,sK1)
| distinct_points(X0,intersection_point(X1,sK1)) ),
inference(instantiation,[status(thm)],[c_58]) ).
cnf(c_1669,plain,
( ~ distinct_points(sP1_iProver_def,X0)
| distinct_points(X0,X1)
| distinct_points(sP1_iProver_def,X1) ),
inference(instantiation,[status(thm)],[c_52]) ).
cnf(c_2056,plain,
( distinct_points(X0,X1)
| distinct_points(X0,sP1_iProver_def)
| distinct_points(sP0_iProver_def,X1) ),
inference(superposition,[status(thm)],[c_1460,c_52]) ).
cnf(c_2065,plain,
( ~ apart_point_and_line(sP1_iProver_def,sK0)
| distinct_points(sP1_iProver_def,X0)
| apart_point_and_line(X0,sK0) ),
inference(instantiation,[status(thm)],[c_60]) ).
cnf(c_2088,plain,
( ~ apart_point_and_line(sP1_iProver_def,X0)
| apart_point_and_line(X1,X0)
| distinct_points(sP1_iProver_def,X1) ),
inference(instantiation,[status(thm)],[c_60]) ).
cnf(c_2267,plain,
( ~ distinct_points(sP1_iProver_def,X0)
| distinct_points(X0,sP1_iProver_def)
| distinct_points(sP1_iProver_def,sP1_iProver_def) ),
inference(instantiation,[status(thm)],[c_1669]) ).
cnf(c_2268,plain,
~ distinct_points(sP1_iProver_def,sP1_iProver_def),
inference(instantiation,[status(thm)],[c_49]) ).
cnf(c_2356,plain,
( ~ distinct_lines(X0,X1)
| ~ distinct_points(X2,sP1_iProver_def)
| apart_point_and_line(X2,X0)
| apart_point_and_line(X2,X1)
| apart_point_and_line(sP1_iProver_def,X0)
| apart_point_and_line(sP1_iProver_def,X1) ),
inference(instantiation,[status(thm)],[c_59]) ).
cnf(c_4375,plain,
( ~ distinct_points(intersection_point(sK0,sK1),sP1_iProver_def)
| ~ distinct_lines(X0,X1)
| apart_point_and_line(intersection_point(sK0,sK1),X0)
| apart_point_and_line(intersection_point(sK0,sK1),X1)
| apart_point_and_line(sP1_iProver_def,X0)
| apart_point_and_line(sP1_iProver_def,X1) ),
inference(instantiation,[status(thm)],[c_2356]) ).
cnf(c_4444,plain,
~ distinct_points(intersection_point(sK0,sK1),intersection_point(sK0,sK1)),
inference(instantiation,[status(thm)],[c_49]) ).
cnf(c_5177,plain,
( ~ apart_point_and_line(intersection_point(sK0,sK1),sK1)
| ~ convergent_lines(sK0,sK1)
| distinct_points(intersection_point(sK0,sK1),intersection_point(sK0,sK1)) ),
inference(instantiation,[status(thm)],[c_630]) ).
cnf(c_5923,plain,
( distinct_points(X0,sP0_iProver_def)
| distinct_points(X0,sP1_iProver_def) ),
inference(superposition,[status(thm)],[c_2056,c_49]) ).
cnf(c_5949,plain,
( ~ distinct_points(intersection_point(sK0,sK1),sP1_iProver_def)
| ~ distinct_lines(sK0,sK1)
| apart_point_and_line(intersection_point(sK0,sK1),sK0)
| apart_point_and_line(intersection_point(sK0,sK1),sK1)
| apart_point_and_line(sP1_iProver_def,sK0)
| apart_point_and_line(sP1_iProver_def,sK1) ),
inference(instantiation,[status(thm)],[c_4375]) ).
cnf(c_7082,plain,
( ~ apart_point_and_line(intersection_point(sK0,sK1),X0)
| ~ convergent_lines(X0,sK1)
| distinct_points(intersection_point(sK0,sK1),intersection_point(X0,sK1)) ),
inference(instantiation,[status(thm)],[c_1495]) ).
cnf(c_7087,plain,
( ~ apart_point_and_line(intersection_point(sK0,sK1),sK0)
| ~ convergent_lines(sK0,sK1)
| distinct_points(intersection_point(sK0,sK1),intersection_point(sK0,sK1)) ),
inference(instantiation,[status(thm)],[c_7082]) ).
cnf(c_7668,plain,
( ~ apart_point_and_line(sP1_iProver_def,sK1)
| distinct_points(sP1_iProver_def,X0)
| apart_point_and_line(X0,sK1) ),
inference(instantiation,[status(thm)],[c_2088]) ).
cnf(c_7675,plain,
distinct_points(X0,sP1_iProver_def),
inference(global_subsumption_just,[status(thm)],[c_5923,c_64,c_65,c_148,c_151,c_406,c_432,c_769,c_793,c_1450,c_1451,c_2065,c_2267,c_2268,c_4444,c_5177,c_5949,c_7087,c_7668]) ).
cnf(c_7678,plain,
$false,
inference(superposition,[status(thm)],[c_7675,c_49]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.13 % Problem : GEO201+2 : TPTP v8.1.2. Released v3.3.0.
% 0.03/0.14 % Command : run_iprover %s %d THM
% 0.15/0.35 % Computer : n023.cluster.edu
% 0.15/0.35 % Model : x86_64 x86_64
% 0.15/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.35 % Memory : 8042.1875MB
% 0.15/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.35 % CPULimit : 300
% 0.15/0.35 % WCLimit : 300
% 0.15/0.35 % DateTime : Fri May 3 01:27:24 EDT 2024
% 0.15/0.35 % CPUTime :
% 0.21/0.49 Running first-order theorem proving
% 0.21/0.49 Running: /export/starexec/sandbox/solver/bin/run_problem --schedule fof_schedule --heuristic_context casc_unsat --no_cores 8 /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 2.92/1.19 % SZS status Started for theBenchmark.p
% 2.92/1.19 % SZS status Theorem for theBenchmark.p
% 2.92/1.19
% 2.92/1.19 %---------------- iProver v3.9 (pre CASC 2024/SMT-COMP 2024) ----------------%
% 2.92/1.19
% 2.92/1.19 ------ iProver source info
% 2.92/1.19
% 2.92/1.19 git: date: 2024-05-02 19:28:25 +0000
% 2.92/1.19 git: sha1: a33b5eb135c74074ba803943bb12f2ebd971352f
% 2.92/1.19 git: non_committed_changes: false
% 2.92/1.19
% 2.92/1.19 ------ Parsing...
% 2.92/1.19 ------ Clausification by vclausify_rel & Parsing by iProver...
% 2.92/1.19
% 2.92/1.19 ------ Preprocessing... sf_s rm: 0 0s sf_e pe_s pe_e
% 2.92/1.19
% 2.92/1.19 ------ Preprocessing... gs_s sp: 0 0s gs_e snvd_s sp: 0 0s snvd_e
% 2.92/1.19
% 2.92/1.19 ------ Preprocessing... sf_s rm: 1 0s sf_e sf_s rm: 0 0s sf_e
% 2.92/1.19 ------ Proving...
% 2.92/1.19 ------ Problem Properties
% 2.92/1.19
% 2.92/1.19
% 2.92/1.19 clauses 18
% 2.92/1.19 conjectures 2
% 2.92/1.19 EPR 12
% 2.92/1.19 Horn 12
% 2.92/1.19 unary 7
% 2.92/1.19 binary 1
% 2.92/1.19 lits 42
% 2.92/1.19 lits eq 2
% 2.92/1.19 fd_pure 0
% 2.92/1.19 fd_pseudo 0
% 2.92/1.19 fd_cond 0
% 2.92/1.19 fd_pseudo_cond 0
% 2.92/1.19 AC symbols 0
% 2.92/1.19
% 2.92/1.19 ------ Schedule dynamic 5 is on
% 2.92/1.19
% 2.92/1.19 ------ Input Options "--resolution_flag false --inst_lit_sel_side none" Time Limit: 10.
% 2.92/1.19
% 2.92/1.19
% 2.92/1.19 ------
% 2.92/1.19 Current options:
% 2.92/1.19 ------
% 2.92/1.19
% 2.92/1.19
% 2.92/1.19
% 2.92/1.19
% 2.92/1.19 ------ Proving...
% 2.92/1.19
% 2.92/1.19
% 2.92/1.19 % SZS status Theorem for theBenchmark.p
% 2.92/1.19
% 2.92/1.19 % SZS output start CNFRefutation for theBenchmark.p
% See solution above
% 2.92/1.19
% 2.92/1.19
%------------------------------------------------------------------------------