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

View Problem - Process Solution

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

% Computer : n024.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:56 EDT 2022

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

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