TSTP Solution File: GEO205+3 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : GEO205+3 : TPTP v8.1.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n004.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 Sep 16 20:35:39 EDT 2022

% Result   : Theorem 0.17s 0.37s
% Output   : Proof 0.17s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.11  % Problem  : GEO205+3 : TPTP v8.1.0. Released v4.0.0.
% 0.03/0.12  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.11/0.32  % Computer : n004.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit : 300
% 0.11/0.32  % WCLimit  : 300
% 0.11/0.32  % DateTime : Wed Aug 31 06:52:34 EDT 2022
% 0.11/0.32  % CPUTime  : 
% 0.11/0.32  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.11/0.32  Usage: tptp [options] [-file:]file
% 0.11/0.32    -h, -?       prints this message.
% 0.11/0.32    -smt2        print SMT-LIB2 benchmark.
% 0.11/0.32    -m, -model   generate model.
% 0.11/0.32    -p, -proof   generate proof.
% 0.11/0.32    -c, -core    generate unsat core of named formulas.
% 0.11/0.32    -st, -statistics display statistics.
% 0.11/0.32    -t:timeout   set timeout (in second).
% 0.11/0.32    -smt2status  display status in smt2 format instead of SZS.
% 0.11/0.32    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.11/0.32    -<param>:<value> configuration parameter and value.
% 0.11/0.32    -o:<output-file> file to place output in.
% 0.17/0.37  % SZS status Theorem
% 0.17/0.37  % SZS output start Proof
% 0.17/0.37  tff(convergent_lines_type, type, (
% 0.17/0.37     convergent_lines: ( $i * $i ) > $o)).
% 0.17/0.37  tff(tptp_fun_X_2_type, type, (
% 0.17/0.37     tptp_fun_X_2: $i)).
% 0.17/0.37  tff(distinct_lines_type, type, (
% 0.17/0.37     distinct_lines: ( $i * $i ) > $o)).
% 0.17/0.37  tff(tptp_fun_Y_1_type, type, (
% 0.17/0.37     tptp_fun_Y_1: $i)).
% 0.17/0.37  tff(apart_point_and_line_type, type, (
% 0.17/0.37     apart_point_and_line: ( $i * $i ) > $o)).
% 0.17/0.37  tff(intersection_point_type, type, (
% 0.17/0.37     intersection_point: ( $i * $i ) > $i)).
% 0.17/0.37  tff(tptp_fun_Z_0_type, type, (
% 0.17/0.37     tptp_fun_Z_0: $i)).
% 0.17/0.37  tff(equal_lines_type, type, (
% 0.17/0.37     equal_lines: ( $i * $i ) > $o)).
% 0.17/0.37  tff(equal_points_type, type, (
% 0.17/0.37     equal_points: ( $i * $i ) > $o)).
% 0.17/0.37  tff(distinct_points_type, type, (
% 0.17/0.37     distinct_points: ( $i * $i ) > $o)).
% 0.17/0.37  tff(1,assumption,(convergent_lines(X!2, X!2)), introduced(assumption)).
% 0.17/0.37  tff(2,plain,
% 0.17/0.37      (^[X: $i] : refl((~convergent_lines(X, X)) <=> (~convergent_lines(X, X)))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(3,plain,
% 0.17/0.37      (![X: $i] : (~convergent_lines(X, X)) <=> ![X: $i] : (~convergent_lines(X, X))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[2])).
% 0.17/0.37  tff(4,plain,
% 0.17/0.37      (![X: $i] : (~convergent_lines(X, X)) <=> ![X: $i] : (~convergent_lines(X, X))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(5,axiom,(![X: $i] : (~convergent_lines(X, X))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+0.ax','apart3')).
% 0.17/0.37  tff(6,plain,
% 0.17/0.37      (![X: $i] : (~convergent_lines(X, X))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[5, 4])).
% 0.17/0.37  tff(7,plain,(
% 0.17/0.37      ![X: $i] : (~convergent_lines(X, X))),
% 0.17/0.37      inference(skolemize,[status(sab)],[6])).
% 0.17/0.37  tff(8,plain,
% 0.17/0.37      (![X: $i] : (~convergent_lines(X, X))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[7, 3])).
% 0.17/0.37  tff(9,plain,
% 0.17/0.37      ((~![X: $i] : (~convergent_lines(X, X))) | (~convergent_lines(X!2, X!2))),
% 0.17/0.37      inference(quant_inst,[status(thm)],[])).
% 0.17/0.37  tff(10,plain,
% 0.17/0.37      ($false),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[9, 8, 1])).
% 0.17/0.37  tff(11,plain,(~convergent_lines(X!2, X!2)), inference(lemma,lemma(discharge,[]))).
% 0.17/0.37  tff(12,plain,
% 0.17/0.37      (^[X: $i, Y: $i] : refl((equal_lines(X, Y) <=> (~distinct_lines(X, Y))) <=> (equal_lines(X, Y) <=> (~distinct_lines(X, Y))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(13,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y))) <=> ![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[12])).
% 0.17/0.37  tff(14,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y))) <=> ![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(15,axiom,(![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+6.ax','ax2')).
% 0.17/0.37  tff(16,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[15, 14])).
% 0.17/0.37  tff(17,plain,(
% 0.17/0.37      ![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))),
% 0.17/0.37      inference(skolemize,[status(sab)],[16])).
% 0.17/0.37  tff(18,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[17, 13])).
% 0.17/0.37  tff(19,plain,
% 0.17/0.37      ((~![X: $i, Y: $i] : (equal_lines(X, Y) <=> (~distinct_lines(X, Y)))) | (equal_lines(Y!1, Z!0) <=> (~distinct_lines(Y!1, Z!0)))),
% 0.17/0.37      inference(quant_inst,[status(thm)],[])).
% 0.17/0.37  tff(20,plain,
% 0.17/0.37      (equal_lines(Y!1, Z!0) <=> (~distinct_lines(Y!1, Z!0))),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[19, 18])).
% 0.17/0.37  tff(21,plain,
% 0.17/0.37      ((~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))) <=> (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z)))))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(22,plain,
% 0.17/0.37      ((~![X: $i, Y: $i, Z: $i] : ((convergent_lines(X, Y) & equal_lines(Y, Z)) => (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))) <=> (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z)))))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(23,axiom,(~![X: $i, Y: $i, Z: $i] : ((convergent_lines(X, Y) & equal_lines(Y, Z)) => (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','con')).
% 0.17/0.37  tff(24,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[23, 22])).
% 0.17/0.37  tff(25,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[24, 21])).
% 0.17/0.37  tff(26,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[25, 21])).
% 0.17/0.37  tff(27,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[26, 21])).
% 0.17/0.37  tff(28,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[27, 21])).
% 0.17/0.37  tff(29,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[28, 21])).
% 0.17/0.37  tff(30,plain,
% 0.17/0.37      (~![X: $i, Y: $i, Z: $i] : ((~(convergent_lines(X, Y) & equal_lines(Y, Z))) | (convergent_lines(X, Z) & equal_points(intersection_point(X, Y), intersection_point(X, Z))))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[29, 21])).
% 0.17/0.37  tff(31,plain,(
% 0.17/0.37      ~((~(convergent_lines(X!2, Y!1) & equal_lines(Y!1, Z!0))) | (convergent_lines(X!2, Z!0) & equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))),
% 0.17/0.37      inference(skolemize,[status(sab)],[30])).
% 0.17/0.37  tff(32,plain,
% 0.17/0.37      (convergent_lines(X!2, Y!1) & equal_lines(Y!1, Z!0)),
% 0.17/0.37      inference(or_elim,[status(thm)],[31])).
% 0.17/0.37  tff(33,plain,
% 0.17/0.37      (equal_lines(Y!1, Z!0)),
% 0.17/0.37      inference(and_elim,[status(thm)],[32])).
% 0.17/0.37  tff(34,plain,
% 0.17/0.37      ((~(equal_lines(Y!1, Z!0) <=> (~distinct_lines(Y!1, Z!0)))) | (~equal_lines(Y!1, Z!0)) | (~distinct_lines(Y!1, Z!0))),
% 0.17/0.37      inference(tautology,[status(thm)],[])).
% 0.17/0.37  tff(35,plain,
% 0.17/0.37      ((~(equal_lines(Y!1, Z!0) <=> (~distinct_lines(Y!1, Z!0)))) | (~distinct_lines(Y!1, Z!0))),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[34, 33])).
% 0.17/0.37  tff(36,plain,
% 0.17/0.37      (~distinct_lines(Y!1, Z!0)),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[35, 20])).
% 0.17/0.37  tff(37,assumption,(~convergent_lines(X!2, Z!0)), introduced(assumption)).
% 0.17/0.37  tff(38,plain,
% 0.17/0.37      (convergent_lines(X!2, Y!1)),
% 0.17/0.37      inference(and_elim,[status(thm)],[32])).
% 0.17/0.37  tff(39,plain,
% 0.17/0.37      (^[X: $i, Y: $i, Z: $i] : refl((distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y))) <=> (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(40,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y))) <=> ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[39])).
% 0.17/0.37  tff(41,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y))) <=> ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(42,plain,
% 0.17/0.37      (^[X: $i, Y: $i, Z: $i] : trans(monotonicity(rewrite((distinct_lines(Y, Z) | convergent_lines(X, Z)) <=> (distinct_lines(Y, Z) | convergent_lines(X, Z))), ((convergent_lines(X, Y) => (distinct_lines(Y, Z) | convergent_lines(X, Z))) <=> (convergent_lines(X, Y) => (distinct_lines(Y, Z) | convergent_lines(X, Z))))), rewrite((convergent_lines(X, Y) => (distinct_lines(Y, Z) | convergent_lines(X, Z))) <=> (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))), ((convergent_lines(X, Y) => (distinct_lines(Y, Z) | convergent_lines(X, Z))) <=> (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(43,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (convergent_lines(X, Y) => (distinct_lines(Y, Z) | convergent_lines(X, Z))) <=> ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[42])).
% 0.17/0.37  tff(44,axiom,(![X: $i, Y: $i, Z: $i] : (convergent_lines(X, Y) => (distinct_lines(Y, Z) | convergent_lines(X, Z)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+0.ax','ceq3')).
% 0.17/0.37  tff(45,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[44, 43])).
% 0.17/0.37  tff(46,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[45, 41])).
% 0.17/0.37  tff(47,plain,(
% 0.17/0.37      ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(skolemize,[status(sab)],[46])).
% 0.17/0.37  tff(48,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[47, 40])).
% 0.17/0.37  tff(49,plain,
% 0.17/0.37      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, Z!0))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, Z!0))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(50,plain,
% 0.17/0.37      ((distinct_lines(Y!1, Z!0) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1))) <=> (convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, Z!0))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(51,plain,
% 0.17/0.37      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (distinct_lines(Y!1, Z!0) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, Z!0)))),
% 0.17/0.37      inference(monotonicity,[status(thm)],[50])).
% 0.17/0.37  tff(52,plain,
% 0.17/0.37      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (distinct_lines(Y!1, Z!0) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, Z!0))),
% 0.17/0.37      inference(transitivity,[status(thm)],[51, 49])).
% 0.17/0.37  tff(53,plain,
% 0.17/0.37      ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (distinct_lines(Y!1, Z!0) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)))),
% 0.17/0.37      inference(quant_inst,[status(thm)],[])).
% 0.17/0.37  tff(54,plain,
% 0.17/0.37      ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | convergent_lines(X!2, Z!0) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, Z!0)),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[53, 52])).
% 0.17/0.37  tff(55,plain,
% 0.17/0.37      ($false),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[54, 48, 38, 37, 36])).
% 0.17/0.37  tff(56,plain,(convergent_lines(X!2, Z!0)), inference(lemma,lemma(discharge,[]))).
% 0.17/0.37  tff(57,plain,
% 0.17/0.37      (^[X: $i, Y: $i] : refl(((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y))) <=> ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(58,plain,
% 0.17/0.37      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y))) <=> ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[57])).
% 0.17/0.37  tff(59,plain,
% 0.17/0.37      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y))) <=> ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(60,plain,
% 0.17/0.37      (^[X: $i, Y: $i] : rewrite((convergent_lines(X, Y) => (~apart_point_and_line(intersection_point(X, Y), Y))) <=> ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(61,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (convergent_lines(X, Y) => (~apart_point_and_line(intersection_point(X, Y), Y))) <=> ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[60])).
% 0.17/0.37  tff(62,axiom,(![X: $i, Y: $i] : (convergent_lines(X, Y) => (~apart_point_and_line(intersection_point(X, Y), Y)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+0.ax','ci4')).
% 0.17/0.37  tff(63,plain,
% 0.17/0.37      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[62, 61])).
% 0.17/0.37  tff(64,plain,
% 0.17/0.37      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[63, 59])).
% 0.17/0.37  tff(65,plain,(
% 0.17/0.37      ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(skolemize,[status(sab)],[64])).
% 0.17/0.37  tff(66,plain,
% 0.17/0.37      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[65, 58])).
% 0.17/0.37  tff(67,plain,
% 0.17/0.37      (((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | ((~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), Z!0)))) <=> ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | (~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), Z!0)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(68,plain,
% 0.17/0.37      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | ((~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), Z!0)))),
% 0.17/0.37      inference(quant_inst,[status(thm)],[])).
% 0.17/0.37  tff(69,plain,
% 0.17/0.37      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | (~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), Z!0))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[68, 67])).
% 0.17/0.37  tff(70,plain,
% 0.17/0.37      (~apart_point_and_line(intersection_point(X!2, Z!0), Z!0)),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[69, 66, 56])).
% 0.17/0.37  tff(71,plain,
% 0.17/0.37      (^[X: $i, Y: $i, Z: $i] : refl((distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y))) <=> (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(72,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y))) <=> ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[71])).
% 0.17/0.37  tff(73,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y))) <=> ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(74,plain,
% 0.17/0.37      (^[X: $i, Y: $i, Z: $i] : trans(monotonicity(rewrite((distinct_lines(Y, Z) | apart_point_and_line(X, Z)) <=> (distinct_lines(Y, Z) | apart_point_and_line(X, Z))), ((apart_point_and_line(X, Y) => (distinct_lines(Y, Z) | apart_point_and_line(X, Z))) <=> (apart_point_and_line(X, Y) => (distinct_lines(Y, Z) | apart_point_and_line(X, Z))))), rewrite((apart_point_and_line(X, Y) => (distinct_lines(Y, Z) | apart_point_and_line(X, Z))) <=> (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))), ((apart_point_and_line(X, Y) => (distinct_lines(Y, Z) | apart_point_and_line(X, Z))) <=> (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(75,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (apart_point_and_line(X, Y) => (distinct_lines(Y, Z) | apart_point_and_line(X, Z))) <=> ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[74])).
% 0.17/0.37  tff(76,axiom,(![X: $i, Y: $i, Z: $i] : (apart_point_and_line(X, Y) => (distinct_lines(Y, Z) | apart_point_and_line(X, Z)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+0.ax','ceq2')).
% 0.17/0.37  tff(77,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[76, 75])).
% 0.17/0.37  tff(78,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[77, 73])).
% 0.17/0.37  tff(79,plain,(
% 0.17/0.37      ![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(skolemize,[status(sab)],[78])).
% 0.17/0.37  tff(80,plain,
% 0.17/0.37      (![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[79, 72])).
% 0.17/0.37  tff(81,plain,
% 0.17/0.37      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))) | (distinct_lines(Y!1, Z!0) | apart_point_and_line(intersection_point(X!2, Z!0), Z!0) | (~apart_point_and_line(intersection_point(X!2, Z!0), Y!1)))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))) | distinct_lines(Y!1, Z!0) | apart_point_and_line(intersection_point(X!2, Z!0), Z!0) | (~apart_point_and_line(intersection_point(X!2, Z!0), Y!1)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(82,plain,
% 0.17/0.37      ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))) | (distinct_lines(Y!1, Z!0) | apart_point_and_line(intersection_point(X!2, Z!0), Z!0) | (~apart_point_and_line(intersection_point(X!2, Z!0), Y!1)))),
% 0.17/0.37      inference(quant_inst,[status(thm)],[])).
% 0.17/0.37  tff(83,plain,
% 0.17/0.37      ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | apart_point_and_line(X, Z) | (~apart_point_and_line(X, Y)))) | distinct_lines(Y!1, Z!0) | apart_point_and_line(intersection_point(X!2, Z!0), Z!0) | (~apart_point_and_line(intersection_point(X!2, Z!0), Y!1))),
% 0.17/0.37      inference(modus_ponens,[status(thm)],[82, 81])).
% 0.17/0.37  tff(84,plain,
% 0.17/0.37      (~apart_point_and_line(intersection_point(X!2, Z!0), Y!1)),
% 0.17/0.37      inference(unit_resolution,[status(thm)],[83, 80, 36, 70])).
% 0.17/0.37  tff(85,plain,
% 0.17/0.37      (^[X: $i, Y: $i] : refl((equal_points(X, Y) <=> (~distinct_points(X, Y))) <=> (equal_points(X, Y) <=> (~distinct_points(X, Y))))),
% 0.17/0.37      inference(bind,[status(th)],[])).
% 0.17/0.37  tff(86,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y))) <=> ![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))),
% 0.17/0.37      inference(quant_intro,[status(thm)],[85])).
% 0.17/0.37  tff(87,plain,
% 0.17/0.37      (![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y))) <=> ![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))),
% 0.17/0.37      inference(rewrite,[status(thm)],[])).
% 0.17/0.37  tff(88,axiom,(![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+6.ax','ax1')).
% 0.17/0.38  tff(89,plain,
% 0.17/0.38      (![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[88, 87])).
% 0.17/0.38  tff(90,plain,(
% 0.17/0.38      ![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))),
% 0.17/0.38      inference(skolemize,[status(sab)],[89])).
% 0.17/0.38  tff(91,plain,
% 0.17/0.38      (![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[90, 86])).
% 0.17/0.38  tff(92,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : (equal_points(X, Y) <=> (~distinct_points(X, Y)))) | (equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)) <=> (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))),
% 0.17/0.38      inference(quant_inst,[status(thm)],[])).
% 0.17/0.38  tff(93,plain,
% 0.17/0.38      (equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)) <=> (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[92, 91])).
% 0.17/0.38  tff(94,plain,
% 0.17/0.38      ((~(~((~convergent_lines(X!2, Z!0)) | (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))))) <=> ((~convergent_lines(X!2, Z!0)) | (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(95,plain,
% 0.17/0.38      ((convergent_lines(X!2, Z!0) & equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) <=> (~((~convergent_lines(X!2, Z!0)) | (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(96,plain,
% 0.17/0.38      ((~(convergent_lines(X!2, Z!0) & equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))) <=> (~(~((~convergent_lines(X!2, Z!0)) | (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))))),
% 0.17/0.38      inference(monotonicity,[status(thm)],[95])).
% 0.17/0.38  tff(97,plain,
% 0.17/0.38      ((~(convergent_lines(X!2, Z!0) & equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))) <=> ((~convergent_lines(X!2, Z!0)) | (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))),
% 0.17/0.38      inference(transitivity,[status(thm)],[96, 94])).
% 0.17/0.38  tff(98,plain,
% 0.17/0.38      (~(convergent_lines(X!2, Z!0) & equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))),
% 0.17/0.38      inference(or_elim,[status(thm)],[31])).
% 0.17/0.38  tff(99,plain,
% 0.17/0.38      ((~convergent_lines(X!2, Z!0)) | (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[98, 97])).
% 0.17/0.38  tff(100,plain,
% 0.17/0.38      (~equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[99, 56])).
% 0.17/0.38  tff(101,plain,
% 0.17/0.38      ((~(equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)) <=> (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))) | equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)) | distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))),
% 0.17/0.38      inference(tautology,[status(thm)],[])).
% 0.17/0.38  tff(102,plain,
% 0.17/0.38      ((~(equal_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)) <=> (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))) | distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[101, 100])).
% 0.17/0.38  tff(103,plain,
% 0.17/0.38      (distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[102, 93])).
% 0.17/0.38  tff(104,plain,
% 0.17/0.38      (^[X: $i, Y: $i] : refl(((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X))) <=> ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X))))),
% 0.17/0.38      inference(bind,[status(th)],[])).
% 0.17/0.38  tff(105,plain,
% 0.17/0.38      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X))) <=> ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(quant_intro,[status(thm)],[104])).
% 0.17/0.38  tff(106,plain,
% 0.17/0.38      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X))) <=> ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(107,plain,
% 0.17/0.38      (^[X: $i, Y: $i] : rewrite((convergent_lines(X, Y) => (~apart_point_and_line(intersection_point(X, Y), X))) <=> ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X))))),
% 0.17/0.38      inference(bind,[status(th)],[])).
% 0.17/0.38  tff(108,plain,
% 0.17/0.38      (![X: $i, Y: $i] : (convergent_lines(X, Y) => (~apart_point_and_line(intersection_point(X, Y), X))) <=> ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(quant_intro,[status(thm)],[107])).
% 0.17/0.38  tff(109,axiom,(![X: $i, Y: $i] : (convergent_lines(X, Y) => (~apart_point_and_line(intersection_point(X, Y), X)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+0.ax','ci3')).
% 0.17/0.38  tff(110,plain,
% 0.17/0.38      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[109, 108])).
% 0.17/0.38  tff(111,plain,
% 0.17/0.38      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[110, 106])).
% 0.17/0.38  tff(112,plain,(
% 0.17/0.38      ![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(skolemize,[status(sab)],[111])).
% 0.17/0.38  tff(113,plain,
% 0.17/0.38      (![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[112, 105])).
% 0.17/0.38  tff(114,plain,
% 0.17/0.38      (((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | ((~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), X!2)))) <=> ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | (~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), X!2)))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(115,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | ((~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), X!2)))),
% 0.17/0.38      inference(quant_inst,[status(thm)],[])).
% 0.17/0.38  tff(116,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | (~convergent_lines(X!2, Z!0)) | (~apart_point_and_line(intersection_point(X!2, Z!0), X!2))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[115, 114])).
% 0.17/0.38  tff(117,plain,
% 0.17/0.38      (~apart_point_and_line(intersection_point(X!2, Z!0), X!2)),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[116, 113, 56])).
% 0.17/0.38  tff(118,plain,
% 0.17/0.38      (((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | ((~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), X!2)))) <=> ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | (~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), X!2)))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(119,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | ((~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), X!2)))),
% 0.17/0.38      inference(quant_inst,[status(thm)],[])).
% 0.17/0.38  tff(120,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), X)))) | (~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), X!2))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[119, 118])).
% 0.17/0.38  tff(121,plain,
% 0.17/0.38      (~apart_point_and_line(intersection_point(X!2, Y!1), X!2)),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[120, 113, 38])).
% 0.17/0.38  tff(122,plain,
% 0.17/0.38      (((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | ((~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), Y!1)))) <=> ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | (~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), Y!1)))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(123,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | ((~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), Y!1)))),
% 0.17/0.38      inference(quant_inst,[status(thm)],[])).
% 0.17/0.38  tff(124,plain,
% 0.17/0.38      ((~![X: $i, Y: $i] : ((~convergent_lines(X, Y)) | (~apart_point_and_line(intersection_point(X, Y), Y)))) | (~convergent_lines(X!2, Y!1)) | (~apart_point_and_line(intersection_point(X!2, Y!1), Y!1))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[123, 122])).
% 0.17/0.38  tff(125,plain,
% 0.17/0.38      (~apart_point_and_line(intersection_point(X!2, Y!1), Y!1)),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[124, 66, 38])).
% 0.17/0.38  tff(126,plain,
% 0.17/0.38      (^[X: $i, Y: $i, U: $i, V: $i] : refl((apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y))) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y))))),
% 0.17/0.38      inference(bind,[status(th)],[])).
% 0.17/0.38  tff(127,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y))) <=> ![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))),
% 0.17/0.38      inference(quant_intro,[status(thm)],[126])).
% 0.17/0.38  tff(128,plain,
% 0.17/0.38      (^[X: $i, Y: $i, U: $i, V: $i] : trans(monotonicity(trans(monotonicity(rewrite((distinct_points(X, Y) & distinct_lines(U, V)) <=> (~((~distinct_lines(U, V)) | (~distinct_points(X, Y))))), ((~(distinct_points(X, Y) & distinct_lines(U, V))) <=> (~(~((~distinct_lines(U, V)) | (~distinct_points(X, Y))))))), rewrite((~(~((~distinct_lines(U, V)) | (~distinct_points(X, Y))))) <=> ((~distinct_lines(U, V)) | (~distinct_points(X, Y)))), ((~(distinct_points(X, Y) & distinct_lines(U, V))) <=> ((~distinct_lines(U, V)) | (~distinct_points(X, Y))))), ((apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V)))) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | ((~distinct_lines(U, V)) | (~distinct_points(X, Y)))))), rewrite((apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | ((~distinct_lines(U, V)) | (~distinct_points(X, Y)))) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))), ((apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V)))) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))))),
% 0.17/0.38      inference(bind,[status(th)],[])).
% 0.17/0.38  tff(129,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V)))) <=> ![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))),
% 0.17/0.38      inference(quant_intro,[status(thm)],[128])).
% 0.17/0.38  tff(130,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V)))) <=> ![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(131,plain,
% 0.17/0.38      (^[X: $i, Y: $i, U: $i, V: $i] : trans(monotonicity(trans(monotonicity(trans(monotonicity(rewrite((apart_point_and_line(X, U) | apart_point_and_line(X, V)) <=> (apart_point_and_line(X, V) | apart_point_and_line(X, U))), (((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) <=> ((apart_point_and_line(X, V) | apart_point_and_line(X, U)) | apart_point_and_line(Y, U)))), rewrite(((apart_point_and_line(X, V) | apart_point_and_line(X, U)) | apart_point_and_line(Y, U)) <=> (apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U))), (((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) <=> (apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U)))), ((((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) | apart_point_and_line(Y, V)) <=> ((apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U)) | apart_point_and_line(Y, V)))), rewrite(((apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U)) | apart_point_and_line(Y, V)) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U))), ((((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) | apart_point_and_line(Y, V)) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U)))), (((distinct_points(X, Y) & distinct_lines(U, V)) => (((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) | apart_point_and_line(Y, V))) <=> ((distinct_points(X, Y) & distinct_lines(U, V)) => (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U))))), rewrite(((distinct_points(X, Y) & distinct_lines(U, V)) => (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U))) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))), (((distinct_points(X, Y) & distinct_lines(U, V)) => (((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) | apart_point_and_line(Y, V))) <=> (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))))),
% 0.17/0.38      inference(bind,[status(th)],[])).
% 0.17/0.38  tff(132,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : ((distinct_points(X, Y) & distinct_lines(U, V)) => (((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) | apart_point_and_line(Y, V))) <=> ![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))),
% 0.17/0.38      inference(quant_intro,[status(thm)],[131])).
% 0.17/0.38  tff(133,axiom,(![X: $i, Y: $i, U: $i, V: $i] : ((distinct_points(X, Y) & distinct_lines(U, V)) => (((apart_point_and_line(X, U) | apart_point_and_line(X, V)) | apart_point_and_line(Y, U)) | apart_point_and_line(Y, V)))), file('/export/starexec/sandbox2/benchmark/Axioms/GEO006+0.ax','cu1')).
% 0.17/0.38  tff(134,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[133, 132])).
% 0.17/0.38  tff(135,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[134, 130])).
% 0.17/0.38  tff(136,plain,(
% 0.17/0.38      ![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~(distinct_points(X, Y) & distinct_lines(U, V))))),
% 0.17/0.38      inference(skolemize,[status(sab)],[135])).
% 0.17/0.38  tff(137,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[136, 129])).
% 0.17/0.38  tff(138,plain,
% 0.17/0.38      (![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[137, 127])).
% 0.17/0.38  tff(139,plain,
% 0.17/0.38      (((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | (apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) | apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1))) <=> ((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) | apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(140,plain,
% 0.17/0.38      ((apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0)))) <=> (apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) | apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(141,plain,
% 0.17/0.38      (((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | (apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))) <=> ((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | (apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) | apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1)))),
% 0.17/0.38      inference(monotonicity,[status(thm)],[140])).
% 0.17/0.38  tff(142,plain,
% 0.17/0.38      (((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | (apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))) <=> ((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) | apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1))),
% 0.17/0.38      inference(transitivity,[status(thm)],[141, 139])).
% 0.17/0.38  tff(143,plain,
% 0.17/0.38      ((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | (apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))))),
% 0.17/0.38      inference(quant_inst,[status(thm)],[])).
% 0.17/0.38  tff(144,plain,
% 0.17/0.38      ((~![X: $i, Y: $i, U: $i, V: $i] : (apart_point_and_line(Y, V) | apart_point_and_line(Y, U) | apart_point_and_line(X, V) | apart_point_and_line(X, U) | (~distinct_lines(U, V)) | (~distinct_points(X, Y)))) | apart_point_and_line(intersection_point(X!2, Y!1), Y!1) | apart_point_and_line(intersection_point(X!2, Y!1), X!2) | (~distinct_lines(Y!1, X!2)) | (~distinct_points(intersection_point(X!2, Y!1), intersection_point(X!2, Z!0))) | apart_point_and_line(intersection_point(X!2, Z!0), X!2) | apart_point_and_line(intersection_point(X!2, Z!0), Y!1)),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[143, 142])).
% 0.17/0.38  tff(145,plain,
% 0.17/0.38      (~distinct_lines(Y!1, X!2)),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[144, 138, 125, 121, 117, 103, 84])).
% 0.17/0.38  tff(146,plain,
% 0.17/0.38      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | ((~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(147,plain,
% 0.17/0.38      ((distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2) | (~convergent_lines(X!2, Y!1))) <=> ((~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2))),
% 0.17/0.38      inference(rewrite,[status(thm)],[])).
% 0.17/0.38  tff(148,plain,
% 0.17/0.38      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2) | (~convergent_lines(X!2, Y!1)))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | ((~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2)))),
% 0.17/0.38      inference(monotonicity,[status(thm)],[147])).
% 0.17/0.38  tff(149,plain,
% 0.17/0.38      (((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2) | (~convergent_lines(X!2, Y!1)))) <=> ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2))),
% 0.17/0.38      inference(transitivity,[status(thm)],[148, 146])).
% 0.17/0.38  tff(150,plain,
% 0.17/0.38      ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2) | (~convergent_lines(X!2, Y!1)))),
% 0.17/0.38      inference(quant_inst,[status(thm)],[])).
% 0.17/0.38  tff(151,plain,
% 0.17/0.38      ((~![X: $i, Y: $i, Z: $i] : (distinct_lines(Y, Z) | convergent_lines(X, Z) | (~convergent_lines(X, Y)))) | (~convergent_lines(X!2, Y!1)) | distinct_lines(Y!1, X!2) | convergent_lines(X!2, X!2)),
% 0.17/0.38      inference(modus_ponens,[status(thm)],[150, 149])).
% 0.17/0.38  tff(152,plain,
% 0.17/0.38      ($false),
% 0.17/0.38      inference(unit_resolution,[status(thm)],[151, 48, 38, 145, 11])).
% 0.17/0.38  % SZS output end Proof
%------------------------------------------------------------------------------