TSTP Solution File: GRP123-9.003 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : GRP123-9.003 : TPTP v8.1.0. Bugfixed v1.2.1.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n008.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 22:25:58 EDT 2022

% Result   : Unsatisfiable 0.20s 0.46s
% Output   : Proof 0.20s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : GRP123-9.003 : TPTP v8.1.0. Bugfixed v1.2.1.
% 0.03/0.13  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.13/0.34  % Computer : n008.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Wed Aug 31 14:57:10 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.13/0.35  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.13/0.35  Usage: tptp [options] [-file:]file
% 0.13/0.35    -h, -?       prints this message.
% 0.13/0.35    -smt2        print SMT-LIB2 benchmark.
% 0.13/0.35    -m, -model   generate model.
% 0.13/0.35    -p, -proof   generate proof.
% 0.13/0.35    -c, -core    generate unsat core of named formulas.
% 0.13/0.35    -st, -statistics display statistics.
% 0.13/0.35    -t:timeout   set timeout (in second).
% 0.13/0.35    -smt2status  display status in smt2 format instead of SZS.
% 0.13/0.35    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.13/0.35    -<param>:<value> configuration parameter and value.
% 0.13/0.35    -o:<output-file> file to place output in.
% 0.20/0.46  % SZS status Unsatisfiable
% 0.20/0.46  % SZS output start Proof
% 0.20/0.46  tff(product1_type, type, (
% 0.20/0.46     product1: ( $i * $i * $i ) > $o)).
% 0.20/0.46  tff(e_2_type, type, (
% 0.20/0.46     e_2: $i)).
% 0.20/0.46  tff(e_3_type, type, (
% 0.20/0.46     e_3: $i)).
% 0.20/0.46  tff(e_1_type, type, (
% 0.20/0.46     e_1: $i)).
% 0.20/0.46  tff(equalish_type, type, (
% 0.20/0.46     equalish: ( $i * $i ) > $o)).
% 0.20/0.46  tff(product2_type, type, (
% 0.20/0.46     product2: ( $i * $i * $i ) > $o)).
% 0.20/0.46  tff(group_element_type, type, (
% 0.20/0.46     group_element: $i > $o)).
% 0.20/0.46  tff(1,plain,
% 0.20/0.46      (^[X: $i] : refl(product1(X, X, X) <=> product1(X, X, X))),
% 0.20/0.46      inference(bind,[status(th)],[])).
% 0.20/0.46  tff(2,plain,
% 0.20/0.46      (![X: $i] : product1(X, X, X) <=> ![X: $i] : product1(X, X, X)),
% 0.20/0.46      inference(quant_intro,[status(thm)],[1])).
% 0.20/0.46  tff(3,plain,
% 0.20/0.46      (![X: $i] : product1(X, X, X) <=> ![X: $i] : product1(X, X, X)),
% 0.20/0.46      inference(rewrite,[status(thm)],[])).
% 0.20/0.46  tff(4,axiom,(![X: $i] : product1(X, X, X)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product1_idempotence')).
% 0.20/0.46  tff(5,plain,
% 0.20/0.46      (![X: $i] : product1(X, X, X)),
% 0.20/0.46      inference(modus_ponens,[status(thm)],[4, 3])).
% 0.20/0.46  tff(6,plain,(
% 0.20/0.46      ![X: $i] : product1(X, X, X)),
% 0.20/0.46      inference(skolemize,[status(sab)],[5])).
% 0.20/0.46  tff(7,plain,
% 0.20/0.46      (![X: $i] : product1(X, X, X)),
% 0.20/0.46      inference(modus_ponens,[status(thm)],[6, 2])).
% 0.20/0.46  tff(8,plain,
% 0.20/0.46      ((~![X: $i] : product1(X, X, X)) | product1(e_2, e_2, e_2)),
% 0.20/0.46      inference(quant_inst,[status(thm)],[])).
% 0.20/0.46  tff(9,plain,
% 0.20/0.46      (product1(e_2, e_2, e_2)),
% 0.20/0.46      inference(unit_resolution,[status(thm)],[8, 7])).
% 0.20/0.46  tff(10,assumption,(product1(e_3, e_2, e_1)), introduced(assumption)).
% 0.20/0.46  tff(11,assumption,(product1(e_1, e_2, e_1)), introduced(assumption)).
% 0.20/0.46  tff(12,plain,
% 0.20/0.46      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X))) <=> (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X))))),
% 0.20/0.46      inference(bind,[status(th)],[])).
% 0.20/0.46  tff(13,plain,
% 0.20/0.46      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(quant_intro,[status(thm)],[12])).
% 0.20/0.46  tff(14,plain,
% 0.20/0.46      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(rewrite,[status(thm)],[])).
% 0.20/0.46  tff(15,plain,
% 0.20/0.46      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product1(W, Y, X)) | (~product1(Z, Y, X))) <=> ((~product1(Z, Y, X)) | (~product1(W, Y, X)))), ((((~product1(W, Y, X)) | (~product1(Z, Y, X))) | equalish(W, Z)) <=> (((~product1(Z, Y, X)) | (~product1(W, Y, X))) | equalish(W, Z)))), rewrite((((~product1(Z, Y, X)) | (~product1(W, Y, X))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))), ((((~product1(W, Y, X)) | (~product1(Z, Y, X))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))))),
% 0.20/0.46      inference(bind,[status(th)],[])).
% 0.20/0.46  tff(16,plain,
% 0.20/0.46      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product1(W, Y, X)) | (~product1(Z, Y, X))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(quant_intro,[status(thm)],[15])).
% 0.20/0.46  tff(17,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product1(W, Y, X)) | (~product1(Z, Y, X))) | equalish(W, Z))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product1_left_cancellation')).
% 0.20/0.46  tff(18,plain,
% 0.20/0.46      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(modus_ponens,[status(thm)],[17, 16])).
% 0.20/0.46  tff(19,plain,
% 0.20/0.46      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(modus_ponens,[status(thm)],[18, 14])).
% 0.20/0.46  tff(20,plain,(
% 0.20/0.46      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(skolemize,[status(sab)],[19])).
% 0.20/0.46  tff(21,plain,
% 0.20/0.46      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.20/0.46      inference(modus_ponens,[status(thm)],[20, 13])).
% 0.20/0.46  tff(22,plain,
% 0.20/0.46      ((~equalish(e_1, e_3)) <=> (~equalish(e_1, e_3))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(23,axiom,(~equalish(e_1, e_3)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','e_1_is_not_e_3')).
% 0.20/0.47  tff(24,plain,
% 0.20/0.47      (~equalish(e_1, e_3)),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[23, 22])).
% 0.20/0.47  tff(25,plain,
% 0.20/0.47      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_1, e_3) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_1)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | equalish(e_1, e_3) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_1)))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(26,plain,
% 0.20/0.47      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_1, e_3) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_1)))),
% 0.20/0.47      inference(quant_inst,[status(thm)],[])).
% 0.20/0.47  tff(27,plain,
% 0.20/0.47      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | equalish(e_1, e_3) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_1))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[26, 25])).
% 0.20/0.47  tff(28,plain,
% 0.20/0.47      ($false),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[27, 24, 21, 10, 11])).
% 0.20/0.47  tff(29,plain,((~product1(e_1, e_2, e_1)) | (~product1(e_3, e_2, e_1))), inference(lemma,lemma(discharge,[]))).
% 0.20/0.47  tff(30,plain,
% 0.20/0.47      (~product1(e_1, e_2, e_1)),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[29, 10])).
% 0.20/0.47  tff(31,assumption,(product2(e_1, e_1, e_2)), introduced(assumption)).
% 0.20/0.47  tff(32,plain,
% 0.20/0.47      (^[X: $i] : refl(product2(X, X, X) <=> product2(X, X, X))),
% 0.20/0.47      inference(bind,[status(th)],[])).
% 0.20/0.47  tff(33,plain,
% 0.20/0.47      (![X: $i] : product2(X, X, X) <=> ![X: $i] : product2(X, X, X)),
% 0.20/0.47      inference(quant_intro,[status(thm)],[32])).
% 0.20/0.47  tff(34,plain,
% 0.20/0.47      (![X: $i] : product2(X, X, X) <=> ![X: $i] : product2(X, X, X)),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(35,axiom,(![X: $i] : product2(X, X, X)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product2_idempotence')).
% 0.20/0.47  tff(36,plain,
% 0.20/0.47      (![X: $i] : product2(X, X, X)),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[35, 34])).
% 0.20/0.47  tff(37,plain,(
% 0.20/0.47      ![X: $i] : product2(X, X, X)),
% 0.20/0.47      inference(skolemize,[status(sab)],[36])).
% 0.20/0.47  tff(38,plain,
% 0.20/0.47      (![X: $i] : product2(X, X, X)),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[37, 33])).
% 0.20/0.47  tff(39,plain,
% 0.20/0.47      ((~![X: $i] : product2(X, X, X)) | product2(e_1, e_1, e_1)),
% 0.20/0.47      inference(quant_inst,[status(thm)],[])).
% 0.20/0.47  tff(40,plain,
% 0.20/0.47      (product2(e_1, e_1, e_1)),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[39, 38])).
% 0.20/0.47  tff(41,plain,
% 0.20/0.47      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W))) <=> (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W))))),
% 0.20/0.47      inference(bind,[status(th)],[])).
% 0.20/0.47  tff(42,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(quant_intro,[status(thm)],[41])).
% 0.20/0.47  tff(43,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(44,plain,
% 0.20/0.47      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product2(X, Y, W)) | (~product2(X, Y, Z))) <=> ((~product2(X, Y, Z)) | (~product2(X, Y, W)))), ((((~product2(X, Y, W)) | (~product2(X, Y, Z))) | equalish(W, Z)) <=> (((~product2(X, Y, Z)) | (~product2(X, Y, W))) | equalish(W, Z)))), rewrite((((~product2(X, Y, Z)) | (~product2(X, Y, W))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))), ((((~product2(X, Y, W)) | (~product2(X, Y, Z))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))))),
% 0.20/0.47      inference(bind,[status(th)],[])).
% 0.20/0.47  tff(45,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product2(X, Y, W)) | (~product2(X, Y, Z))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(quant_intro,[status(thm)],[44])).
% 0.20/0.47  tff(46,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product2(X, Y, W)) | (~product2(X, Y, Z))) | equalish(W, Z))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product2_total_function2')).
% 0.20/0.47  tff(47,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[46, 45])).
% 0.20/0.47  tff(48,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[47, 43])).
% 0.20/0.47  tff(49,plain,(
% 0.20/0.47      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(skolemize,[status(sab)],[48])).
% 0.20/0.47  tff(50,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[49, 42])).
% 0.20/0.47  tff(51,plain,
% 0.20/0.47      ((~equalish(e_2, e_1)) <=> (~equalish(e_2, e_1))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(52,axiom,(~equalish(e_2, e_1)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','e_2_is_not_e_1')).
% 0.20/0.47  tff(53,plain,
% 0.20/0.47      (~equalish(e_2, e_1)),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[52, 51])).
% 0.20/0.47  tff(54,plain,
% 0.20/0.47      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_2, e_1) | (~product2(e_1, e_1, e_1)) | (~product2(e_1, e_1, e_2)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | equalish(e_2, e_1) | (~product2(e_1, e_1, e_1)) | (~product2(e_1, e_1, e_2)))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(55,plain,
% 0.20/0.47      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_2, e_1) | (~product2(e_1, e_1, e_1)) | (~product2(e_1, e_1, e_2)))),
% 0.20/0.47      inference(quant_inst,[status(thm)],[])).
% 0.20/0.47  tff(56,plain,
% 0.20/0.47      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | equalish(e_2, e_1) | (~product2(e_1, e_1, e_1)) | (~product2(e_1, e_1, e_2))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[55, 54])).
% 0.20/0.47  tff(57,plain,
% 0.20/0.47      ($false),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[56, 53, 50, 40, 31])).
% 0.20/0.47  tff(58,plain,(~product2(e_1, e_1, e_2)), inference(lemma,lemma(discharge,[]))).
% 0.20/0.47  tff(59,plain,
% 0.20/0.47      (^[Y: $i, Z1: $i, X: $i, Z2: $i] : refl((product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1))) <=> (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1))))),
% 0.20/0.47      inference(bind,[status(th)],[])).
% 0.20/0.47  tff(60,plain,
% 0.20/0.47      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1))) <=> ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(quant_intro,[status(thm)],[59])).
% 0.20/0.47  tff(61,plain,
% 0.20/0.47      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1))) <=> ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(62,plain,
% 0.20/0.47      (^[Y: $i, Z1: $i, X: $i, Z2: $i] : rewrite((((~product1(X, Y, Z1)) | (~product1(Z1, Y, Z2))) | product2(Z2, X, Y)) <=> (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1))))),
% 0.20/0.47      inference(bind,[status(th)],[])).
% 0.20/0.47  tff(63,plain,
% 0.20/0.47      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (((~product1(X, Y, Z1)) | (~product1(Z1, Y, Z2))) | product2(Z2, X, Y)) <=> ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(quant_intro,[status(thm)],[62])).
% 0.20/0.47  tff(64,axiom,(![Y: $i, Z1: $i, X: $i, Z2: $i] : (((~product1(X, Y, Z1)) | (~product1(Z1, Y, Z2))) | product2(Z2, X, Y))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','qg1a')).
% 0.20/0.47  tff(65,plain,
% 0.20/0.47      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[64, 63])).
% 0.20/0.47  tff(66,plain,
% 0.20/0.47      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[65, 61])).
% 0.20/0.47  tff(67,plain,(
% 0.20/0.47      ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(skolemize,[status(sab)],[66])).
% 0.20/0.47  tff(68,plain,
% 0.20/0.47      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[67, 60])).
% 0.20/0.47  tff(69,plain,
% 0.20/0.47      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | ((~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(70,plain,
% 0.20/0.47      ((product2(e_1, e_1, e_2) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_3))) <=> ((~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(71,plain,
% 0.20/0.47      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_1, e_1, e_2) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_3)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | ((~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2)))),
% 0.20/0.47      inference(monotonicity,[status(thm)],[70])).
% 0.20/0.47  tff(72,plain,
% 0.20/0.47      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_1, e_1, e_2) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_3)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2))),
% 0.20/0.47      inference(transitivity,[status(thm)],[71, 69])).
% 0.20/0.47  tff(73,plain,
% 0.20/0.47      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_1, e_1, e_2) | (~product1(e_3, e_2, e_1)) | (~product1(e_1, e_2, e_3)))),
% 0.20/0.47      inference(quant_inst,[status(thm)],[])).
% 0.20/0.47  tff(74,plain,
% 0.20/0.47      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2)),
% 0.20/0.47      inference(modus_ponens,[status(thm)],[73, 72])).
% 0.20/0.47  tff(75,plain,
% 0.20/0.47      ((~product1(e_1, e_2, e_3)) | (~product1(e_3, e_2, e_1)) | product2(e_1, e_1, e_2)),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[74, 68])).
% 0.20/0.47  tff(76,plain,
% 0.20/0.47      (~product1(e_1, e_2, e_3)),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[75, 10, 58])).
% 0.20/0.47  tff(77,plain,
% 0.20/0.47      ((~![X: $i] : product2(X, X, X)) | product2(e_2, e_2, e_2)),
% 0.20/0.47      inference(quant_inst,[status(thm)],[])).
% 0.20/0.47  tff(78,plain,
% 0.20/0.47      (product2(e_2, e_2, e_2)),
% 0.20/0.47      inference(unit_resolution,[status(thm)],[77, 38])).
% 0.20/0.47  tff(79,assumption,(product2(e_2, e_1, e_2)), introduced(assumption)).
% 0.20/0.47  tff(80,plain,
% 0.20/0.47      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))) <=> (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))))),
% 0.20/0.47      inference(bind,[status(th)],[])).
% 0.20/0.47  tff(81,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.47      inference(quant_intro,[status(thm)],[80])).
% 0.20/0.47  tff(82,plain,
% 0.20/0.47      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.47      inference(rewrite,[status(thm)],[])).
% 0.20/0.47  tff(83,plain,
% 0.20/0.47      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product2(X, W, Y)) | (~product2(X, Z, Y))) <=> ((~product2(X, Z, Y)) | (~product2(X, W, Y)))), ((((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z)) <=> (((~product2(X, Z, Y)) | (~product2(X, W, Y))) | equalish(W, Z)))), rewrite((((~product2(X, Z, Y)) | (~product2(X, W, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))), ((((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))))),
% 0.20/0.48      inference(bind,[status(th)],[])).
% 0.20/0.48  tff(84,plain,
% 0.20/0.48      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.48      inference(quant_intro,[status(thm)],[83])).
% 0.20/0.48  tff(85,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product2_right_cancellation')).
% 0.20/0.48  tff(86,plain,
% 0.20/0.48      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[85, 84])).
% 0.20/0.48  tff(87,plain,
% 0.20/0.48      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[86, 82])).
% 0.20/0.48  tff(88,plain,(
% 0.20/0.48      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.48      inference(skolemize,[status(sab)],[87])).
% 0.20/0.48  tff(89,plain,
% 0.20/0.48      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[88, 81])).
% 0.20/0.48  tff(90,plain,
% 0.20/0.48      ((~equalish(e_1, e_2)) <=> (~equalish(e_1, e_2))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(91,axiom,(~equalish(e_1, e_2)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','e_1_is_not_e_2')).
% 0.20/0.48  tff(92,plain,
% 0.20/0.48      (~equalish(e_1, e_2)),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[91, 90])).
% 0.20/0.48  tff(93,plain,
% 0.20/0.48      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_1, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_1, e_2)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | equalish(e_1, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_1, e_2)))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(94,plain,
% 0.20/0.48      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_1, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_1, e_2)))),
% 0.20/0.48      inference(quant_inst,[status(thm)],[])).
% 0.20/0.48  tff(95,plain,
% 0.20/0.48      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | equalish(e_1, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_1, e_2))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[94, 93])).
% 0.20/0.48  tff(96,plain,
% 0.20/0.48      ($false),
% 0.20/0.48      inference(unit_resolution,[status(thm)],[95, 92, 89, 79, 78])).
% 0.20/0.48  tff(97,plain,(~product2(e_2, e_1, e_2)), inference(lemma,lemma(discharge,[]))).
% 0.20/0.48  tff(98,plain,
% 0.20/0.48      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_1, e_2) | (~product1(e_1, e_2, e_2)) | (~product1(e_2, e_2, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_2, e_1, e_2) | (~product1(e_1, e_2, e_2)) | (~product1(e_2, e_2, e_2)))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(99,plain,
% 0.20/0.48      ((product2(e_2, e_1, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_1, e_2, e_2))) <=> (product2(e_2, e_1, e_2) | (~product1(e_1, e_2, e_2)) | (~product1(e_2, e_2, e_2)))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(100,plain,
% 0.20/0.48      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_1, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_1, e_2, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_1, e_2) | (~product1(e_1, e_2, e_2)) | (~product1(e_2, e_2, e_2))))),
% 0.20/0.48      inference(monotonicity,[status(thm)],[99])).
% 0.20/0.48  tff(101,plain,
% 0.20/0.48      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_1, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_1, e_2, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_2, e_1, e_2) | (~product1(e_1, e_2, e_2)) | (~product1(e_2, e_2, e_2)))),
% 0.20/0.48      inference(transitivity,[status(thm)],[100, 98])).
% 0.20/0.48  tff(102,plain,
% 0.20/0.48      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_1, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_1, e_2, e_2)))),
% 0.20/0.48      inference(quant_inst,[status(thm)],[])).
% 0.20/0.48  tff(103,plain,
% 0.20/0.48      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_2, e_1, e_2) | (~product1(e_1, e_2, e_2)) | (~product1(e_2, e_2, e_2))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[102, 101])).
% 0.20/0.48  tff(104,plain,
% 0.20/0.48      (~product1(e_1, e_2, e_2)),
% 0.20/0.48      inference(unit_resolution,[status(thm)],[103, 68, 97, 9])).
% 0.20/0.48  tff(105,plain,
% 0.20/0.48      (^[Y: $i, X: $i] : refl(((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1)) <=> ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1)))),
% 0.20/0.48      inference(bind,[status(th)],[])).
% 0.20/0.48  tff(106,plain,
% 0.20/0.48      (![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1)) <=> ![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(quant_intro,[status(thm)],[105])).
% 0.20/0.48  tff(107,plain,
% 0.20/0.48      (![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1)) <=> ![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(108,plain,
% 0.20/0.48      (^[Y: $i, X: $i] : trans(monotonicity(trans(monotonicity(rewrite((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) <=> ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_1))), (((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) | product1(X, Y, e_2)) <=> (((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_1)) | product1(X, Y, e_2)))), rewrite((((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_1)) | product1(X, Y, e_2)) <=> ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_2) | product1(X, Y, e_1))), (((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) | product1(X, Y, e_2)) <=> ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_2) | product1(X, Y, e_1)))), ((((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) | product1(X, Y, e_2)) | product1(X, Y, e_3)) <=> (((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_2) | product1(X, Y, e_1)) | product1(X, Y, e_3)))), rewrite((((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_2) | product1(X, Y, e_1)) | product1(X, Y, e_3)) <=> ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))), ((((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) | product1(X, Y, e_2)) | product1(X, Y, e_3)) <=> ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))))),
% 0.20/0.48      inference(bind,[status(th)],[])).
% 0.20/0.48  tff(109,plain,
% 0.20/0.48      (![Y: $i, X: $i] : (((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) | product1(X, Y, e_2)) | product1(X, Y, e_3)) <=> ![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(quant_intro,[status(thm)],[108])).
% 0.20/0.48  tff(110,axiom,(![Y: $i, X: $i] : (((((~group_element(X)) | (~group_element(Y))) | product1(X, Y, e_1)) | product1(X, Y, e_2)) | product1(X, Y, e_3))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product1_total_function1')).
% 0.20/0.48  tff(111,plain,
% 0.20/0.48      (![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[110, 109])).
% 0.20/0.48  tff(112,plain,
% 0.20/0.48      (![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[111, 107])).
% 0.20/0.48  tff(113,plain,(
% 0.20/0.48      ![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(skolemize,[status(sab)],[112])).
% 0.20/0.48  tff(114,plain,
% 0.20/0.48      (![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[113, 106])).
% 0.20/0.48  tff(115,plain,
% 0.20/0.48      (group_element(e_2) <=> group_element(e_2)),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(116,axiom,(group_element(e_2)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','element_2')).
% 0.20/0.48  tff(117,plain,
% 0.20/0.48      (group_element(e_2)),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[116, 115])).
% 0.20/0.48  tff(118,plain,
% 0.20/0.48      (group_element(e_1) <=> group_element(e_1)),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(119,axiom,(group_element(e_1)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','element_1')).
% 0.20/0.48  tff(120,plain,
% 0.20/0.48      (group_element(e_1)),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[119, 118])).
% 0.20/0.48  tff(121,plain,
% 0.20/0.48      (((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_1)) | (~group_element(e_2)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))) <=> ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | (~group_element(e_1)) | (~group_element(e_2)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(122,plain,
% 0.20/0.48      (((~group_element(e_2)) | (~group_element(e_1)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1)) <=> ((~group_element(e_1)) | (~group_element(e_2)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(123,plain,
% 0.20/0.48      (((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_2)) | (~group_element(e_1)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))) <=> ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_1)) | (~group_element(e_2)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1)))),
% 0.20/0.48      inference(monotonicity,[status(thm)],[122])).
% 0.20/0.48  tff(124,plain,
% 0.20/0.48      (((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_2)) | (~group_element(e_1)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))) <=> ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | (~group_element(e_1)) | (~group_element(e_2)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))),
% 0.20/0.48      inference(transitivity,[status(thm)],[123, 121])).
% 0.20/0.48  tff(125,plain,
% 0.20/0.48      ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_2)) | (~group_element(e_1)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1))),
% 0.20/0.48      inference(quant_inst,[status(thm)],[])).
% 0.20/0.48  tff(126,plain,
% 0.20/0.48      ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | (~group_element(e_1)) | (~group_element(e_2)) | product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1)),
% 0.20/0.48      inference(modus_ponens,[status(thm)],[125, 124])).
% 0.20/0.48  tff(127,plain,
% 0.20/0.48      (product1(e_1, e_2, e_3) | product1(e_1, e_2, e_2) | product1(e_1, e_2, e_1)),
% 0.20/0.48      inference(unit_resolution,[status(thm)],[126, 120, 117, 114])).
% 0.20/0.48  tff(128,plain,
% 0.20/0.48      (product1(e_1, e_2, e_3) | product1(e_1, e_2, e_1)),
% 0.20/0.48      inference(unit_resolution,[status(thm)],[127, 104])).
% 0.20/0.48  tff(129,plain,
% 0.20/0.48      ($false),
% 0.20/0.48      inference(unit_resolution,[status(thm)],[128, 76, 30])).
% 0.20/0.48  tff(130,plain,(~product1(e_3, e_2, e_1)), inference(lemma,lemma(discharge,[]))).
% 0.20/0.48  tff(131,plain,
% 0.20/0.48      ((~![X: $i] : product1(X, X, X)) | product1(e_3, e_3, e_3)),
% 0.20/0.48      inference(quant_inst,[status(thm)],[])).
% 0.20/0.48  tff(132,plain,
% 0.20/0.48      (product1(e_3, e_3, e_3)),
% 0.20/0.48      inference(unit_resolution,[status(thm)],[131, 7])).
% 0.20/0.48  tff(133,assumption,(product1(e_3, e_2, e_3)), introduced(assumption)).
% 0.20/0.48  tff(134,plain,
% 0.20/0.48      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y))) <=> (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y))))),
% 0.20/0.48      inference(bind,[status(th)],[])).
% 0.20/0.48  tff(135,plain,
% 0.20/0.48      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.48      inference(quant_intro,[status(thm)],[134])).
% 0.20/0.48  tff(136,plain,
% 0.20/0.48      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.48      inference(rewrite,[status(thm)],[])).
% 0.20/0.48  tff(137,plain,
% 0.20/0.48      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product1(X, W, Y)) | (~product1(X, Z, Y))) <=> ((~product1(X, Z, Y)) | (~product1(X, W, Y)))), ((((~product1(X, W, Y)) | (~product1(X, Z, Y))) | equalish(W, Z)) <=> (((~product1(X, Z, Y)) | (~product1(X, W, Y))) | equalish(W, Z)))), rewrite((((~product1(X, Z, Y)) | (~product1(X, W, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))), ((((~product1(X, W, Y)) | (~product1(X, Z, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))))),
% 0.20/0.49      inference(bind,[status(th)],[])).
% 0.20/0.49  tff(138,plain,
% 0.20/0.49      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product1(X, W, Y)) | (~product1(X, Z, Y))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.49      inference(quant_intro,[status(thm)],[137])).
% 0.20/0.49  tff(139,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product1(X, W, Y)) | (~product1(X, Z, Y))) | equalish(W, Z))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','product1_right_cancellation')).
% 0.20/0.49  tff(140,plain,
% 0.20/0.49      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[139, 138])).
% 0.20/0.49  tff(141,plain,
% 0.20/0.49      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[140, 136])).
% 0.20/0.49  tff(142,plain,(
% 0.20/0.49      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.49      inference(skolemize,[status(sab)],[141])).
% 0.20/0.49  tff(143,plain,
% 0.20/0.49      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[142, 135])).
% 0.20/0.49  tff(144,plain,
% 0.20/0.49      ((~equalish(e_2, e_3)) <=> (~equalish(e_2, e_3))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(145,axiom,(~equalish(e_2, e_3)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','e_2_is_not_e_3')).
% 0.20/0.49  tff(146,plain,
% 0.20/0.49      (~equalish(e_2, e_3)),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[145, 144])).
% 0.20/0.49  tff(147,plain,
% 0.20/0.49      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))) | (equalish(e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_3, e_2, e_3)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))) | equalish(e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_3, e_2, e_3)))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(148,plain,
% 0.20/0.49      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))) | (equalish(e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_3, e_2, e_3)))),
% 0.20/0.49      inference(quant_inst,[status(thm)],[])).
% 0.20/0.49  tff(149,plain,
% 0.20/0.49      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(X, Z, Y)) | (~product1(X, W, Y)))) | equalish(e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_3, e_2, e_3))),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[148, 147])).
% 0.20/0.49  tff(150,plain,
% 0.20/0.49      ($false),
% 0.20/0.49      inference(unit_resolution,[status(thm)],[149, 146, 143, 133, 132])).
% 0.20/0.49  tff(151,plain,(~product1(e_3, e_2, e_3)), inference(lemma,lemma(discharge,[]))).
% 0.20/0.49  tff(152,plain,
% 0.20/0.49      (group_element(e_3) <=> group_element(e_3)),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(153,axiom,(group_element(e_3)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','element_3')).
% 0.20/0.49  tff(154,plain,
% 0.20/0.49      (group_element(e_3)),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[153, 152])).
% 0.20/0.49  tff(155,plain,
% 0.20/0.49      (((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | (product1(e_3, e_2, e_1) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | product1(e_3, e_2, e_1) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | (~group_element(e_2)))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(156,plain,
% 0.20/0.49      (((~group_element(e_2)) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | product1(e_3, e_2, e_1)) <=> (product1(e_3, e_2, e_1) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | (~group_element(e_2)))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(157,plain,
% 0.20/0.49      (((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_2)) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | product1(e_3, e_2, e_1))) <=> ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | (product1(e_3, e_2, e_1) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | (~group_element(e_2))))),
% 0.20/0.49      inference(monotonicity,[status(thm)],[156])).
% 0.20/0.49  tff(158,plain,
% 0.20/0.49      (((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_2)) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | product1(e_3, e_2, e_1))) <=> ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | product1(e_3, e_2, e_1) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | (~group_element(e_2)))),
% 0.20/0.49      inference(transitivity,[status(thm)],[157, 155])).
% 0.20/0.49  tff(159,plain,
% 0.20/0.49      ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | ((~group_element(e_2)) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | product1(e_3, e_2, e_1))),
% 0.20/0.49      inference(quant_inst,[status(thm)],[])).
% 0.20/0.49  tff(160,plain,
% 0.20/0.49      ((~![Y: $i, X: $i] : ((~group_element(Y)) | (~group_element(X)) | product1(X, Y, e_3) | product1(X, Y, e_2) | product1(X, Y, e_1))) | product1(e_3, e_2, e_1) | (~group_element(e_3)) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2) | (~group_element(e_2))),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[159, 158])).
% 0.20/0.49  tff(161,plain,
% 0.20/0.49      (product1(e_3, e_2, e_1) | product1(e_3, e_2, e_3) | product1(e_3, e_2, e_2)),
% 0.20/0.49      inference(unit_resolution,[status(thm)],[160, 117, 154, 114])).
% 0.20/0.49  tff(162,plain,
% 0.20/0.49      (product1(e_3, e_2, e_1) | product1(e_3, e_2, e_2)),
% 0.20/0.49      inference(unit_resolution,[status(thm)],[161, 151])).
% 0.20/0.49  tff(163,plain,
% 0.20/0.49      (product1(e_3, e_2, e_2)),
% 0.20/0.49      inference(unit_resolution,[status(thm)],[162, 130])).
% 0.20/0.49  tff(164,plain,
% 0.20/0.49      ((~equalish(e_3, e_2)) <=> (~equalish(e_3, e_2))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(165,axiom,(~equalish(e_3, e_2)), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','e_3_is_not_e_2')).
% 0.20/0.49  tff(166,plain,
% 0.20/0.49      (~equalish(e_3, e_2)),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[165, 164])).
% 0.20/0.49  tff(167,plain,
% 0.20/0.49      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_3, e_2) | (~product1(e_3, e_2, e_2)) | (~product1(e_2, e_2, e_2)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | equalish(e_3, e_2) | (~product1(e_3, e_2, e_2)) | (~product1(e_2, e_2, e_2)))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(168,plain,
% 0.20/0.49      ((equalish(e_3, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_3, e_2, e_2))) <=> (equalish(e_3, e_2) | (~product1(e_3, e_2, e_2)) | (~product1(e_2, e_2, e_2)))),
% 0.20/0.49      inference(rewrite,[status(thm)],[])).
% 0.20/0.49  tff(169,plain,
% 0.20/0.49      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_3, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_3, e_2, e_2)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_3, e_2) | (~product1(e_3, e_2, e_2)) | (~product1(e_2, e_2, e_2))))),
% 0.20/0.49      inference(monotonicity,[status(thm)],[168])).
% 0.20/0.49  tff(170,plain,
% 0.20/0.49      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_3, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_3, e_2, e_2)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | equalish(e_3, e_2) | (~product1(e_3, e_2, e_2)) | (~product1(e_2, e_2, e_2)))),
% 0.20/0.49      inference(transitivity,[status(thm)],[169, 167])).
% 0.20/0.49  tff(171,plain,
% 0.20/0.49      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | (equalish(e_3, e_2) | (~product1(e_2, e_2, e_2)) | (~product1(e_3, e_2, e_2)))),
% 0.20/0.49      inference(quant_inst,[status(thm)],[])).
% 0.20/0.49  tff(172,plain,
% 0.20/0.49      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))) | equalish(e_3, e_2) | (~product1(e_3, e_2, e_2)) | (~product1(e_2, e_2, e_2))),
% 0.20/0.49      inference(modus_ponens,[status(thm)],[171, 170])).
% 0.20/0.49  tff(173,plain,
% 0.20/0.49      ($false),
% 0.20/0.49      inference(unit_resolution,[status(thm)],[172, 166, 21, 163, 9])).
% 0.20/0.49  % SZS output end Proof
%------------------------------------------------------------------------------