TSTP Solution File: GRP135-1.002 by Z3---4.8.9.0

View Problem - Process Solution

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

% Computer : n028.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:26:19 EDT 2022

% Result   : Unsatisfiable 0.18s 0.39s
% Output   : Proof 0.18s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : GRP135-1.002 : TPTP v8.1.0. Released v1.2.0.
% 0.03/0.13  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.13/0.33  % Computer : n028.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 15:19:34 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.18/0.39  % SZS status Unsatisfiable
% 0.18/0.39  % SZS output start Proof
% 0.18/0.39  tff(product_type, type, (
% 0.18/0.39     product: ( $i * $i * $i ) > $o)).
% 0.18/0.39  tff(e_1_type, type, (
% 0.18/0.39     e_1: $i)).
% 0.18/0.39  tff(e_2_type, type, (
% 0.18/0.39     e_2: $i)).
% 0.18/0.39  tff(equalish_type, type, (
% 0.18/0.39     equalish: ( $i * $i ) > $o)).
% 0.18/0.39  tff(group_element_type, type, (
% 0.18/0.39     group_element: $i > $o)).
% 0.18/0.39  tff(1,assumption,(product(e_1, e_1, e_2)), introduced(assumption)).
% 0.18/0.39  tff(2,assumption,(product(e_2, e_2, e_1)), introduced(assumption)).
% 0.18/0.39  tff(3,assumption,(product(e_1, e_2, e_1)), introduced(assumption)).
% 0.18/0.39  tff(4,plain,
% 0.18/0.39      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X))) <=> (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X))))),
% 0.18/0.39      inference(bind,[status(th)],[])).
% 0.18/0.39  tff(5,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(quant_intro,[status(thm)],[4])).
% 0.18/0.39  tff(6,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(rewrite,[status(thm)],[])).
% 0.18/0.39  tff(7,plain,
% 0.18/0.39      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product(W, Y, X)) | (~product(Z, Y, X))) <=> ((~product(Z, Y, X)) | (~product(W, Y, X)))), ((((~product(W, Y, X)) | (~product(Z, Y, X))) | equalish(W, Z)) <=> (((~product(Z, Y, X)) | (~product(W, Y, X))) | equalish(W, Z)))), rewrite((((~product(Z, Y, X)) | (~product(W, Y, X))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))), ((((~product(W, Y, X)) | (~product(Z, Y, X))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))))),
% 0.18/0.39      inference(bind,[status(th)],[])).
% 0.18/0.39  tff(8,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product(W, Y, X)) | (~product(Z, Y, X))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(quant_intro,[status(thm)],[7])).
% 0.18/0.39  tff(9,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product(W, Y, X)) | (~product(Z, Y, X))) | equalish(W, Z))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','product_left_cancellation')).
% 0.18/0.39  tff(10,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[9, 8])).
% 0.18/0.39  tff(11,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[10, 6])).
% 0.18/0.39  tff(12,plain,(
% 0.18/0.39      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(skolemize,[status(sab)],[11])).
% 0.18/0.39  tff(13,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[12, 5])).
% 0.18/0.39  tff(14,plain,
% 0.18/0.39      ((~equalish(e_1, e_2)) <=> (~equalish(e_1, e_2))),
% 0.18/0.39      inference(rewrite,[status(thm)],[])).
% 0.18/0.39  tff(15,axiom,(~equalish(e_1, e_2)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','e_1_is_not_e_2')).
% 0.18/0.39  tff(16,plain,
% 0.18/0.39      (~equalish(e_1, e_2)),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[15, 14])).
% 0.18/0.39  tff(17,plain,
% 0.18/0.39      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))) | (equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_1)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))) | equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_1)))),
% 0.18/0.39      inference(rewrite,[status(thm)],[])).
% 0.18/0.39  tff(18,plain,
% 0.18/0.39      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))) | (equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_1)))),
% 0.18/0.39      inference(quant_inst,[status(thm)],[])).
% 0.18/0.39  tff(19,plain,
% 0.18/0.39      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))) | equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_1))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[18, 17])).
% 0.18/0.40  tff(20,plain,
% 0.18/0.40      ($false),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[19, 16, 13, 2, 3])).
% 0.18/0.40  tff(21,plain,((~product(e_1, e_2, e_1)) | (~product(e_2, e_2, e_1))), inference(lemma,lemma(discharge,[]))).
% 0.18/0.40  tff(22,plain,
% 0.18/0.40      (~product(e_1, e_2, e_1)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[21, 2])).
% 0.18/0.40  tff(23,plain,
% 0.18/0.40      (^[Y: $i, Z1: $i, X: $i, Z2: $i] : refl((product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1))) <=> (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(24,plain,
% 0.18/0.40      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1))) <=> ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[23])).
% 0.18/0.40  tff(25,plain,
% 0.18/0.40      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1))) <=> ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(26,plain,
% 0.18/0.40      (^[Y: $i, Z1: $i, X: $i, Z2: $i] : trans(monotonicity(rewrite(((~product(Y, X, Z1)) | (~product(Z1, Y, Z2))) <=> ((~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))), ((((~product(Y, X, Z1)) | (~product(Z1, Y, Z2))) | product(Z2, Y, X)) <=> (((~product(Z1, Y, Z2)) | (~product(Y, X, Z1))) | product(Z2, Y, X)))), rewrite((((~product(Z1, Y, Z2)) | (~product(Y, X, Z1))) | product(Z2, Y, X)) <=> (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))), ((((~product(Y, X, Z1)) | (~product(Z1, Y, Z2))) | product(Z2, Y, X)) <=> (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(27,plain,
% 0.18/0.40      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (((~product(Y, X, Z1)) | (~product(Z1, Y, Z2))) | product(Z2, Y, X)) <=> ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[26])).
% 0.18/0.40  tff(28,axiom,(![Y: $i, Z1: $i, X: $i, Z2: $i] : (((~product(Y, X, Z1)) | (~product(Z1, Y, Z2))) | product(Z2, Y, X))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','qg3')).
% 0.18/0.40  tff(29,plain,
% 0.18/0.40      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[28, 27])).
% 0.18/0.40  tff(30,plain,
% 0.18/0.40      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[29, 25])).
% 0.18/0.40  tff(31,plain,(
% 0.18/0.40      ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(skolemize,[status(sab)],[30])).
% 0.18/0.40  tff(32,plain,
% 0.18/0.40      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[31, 24])).
% 0.18/0.40  tff(33,plain,
% 0.18/0.40      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_1, e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_1, e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(34,plain,
% 0.18/0.40      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_1, e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.40      inference(quant_inst,[status(thm)],[])).
% 0.18/0.40  tff(35,plain,
% 0.18/0.40      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_1, e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[34, 33])).
% 0.18/0.40  tff(36,plain,
% 0.18/0.40      (~product(e_2, e_1, e_2)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[35, 32, 2, 22])).
% 0.18/0.40  tff(37,plain,
% 0.18/0.40      (^[Y: $i, X: $i] : refl((product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X))) <=> (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(38,plain,
% 0.18/0.40      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X))) <=> ![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[37])).
% 0.18/0.40  tff(39,plain,
% 0.18/0.40      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X))) <=> ![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(40,plain,
% 0.18/0.40      (^[Y: $i, X: $i] : trans(monotonicity(rewrite((((~group_element(X)) | (~group_element(Y))) | product(X, Y, e_1)) <=> (product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))), (((((~group_element(X)) | (~group_element(Y))) | product(X, Y, e_1)) | product(X, Y, e_2)) <=> ((product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X))) | product(X, Y, e_2)))), rewrite(((product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X))) | product(X, Y, e_2)) <=> (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))), (((((~group_element(X)) | (~group_element(Y))) | product(X, Y, e_1)) | product(X, Y, e_2)) <=> (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(41,plain,
% 0.18/0.40      (![Y: $i, X: $i] : ((((~group_element(X)) | (~group_element(Y))) | product(X, Y, e_1)) | product(X, Y, e_2)) <=> ![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[40])).
% 0.18/0.40  tff(42,axiom,(![Y: $i, X: $i] : ((((~group_element(X)) | (~group_element(Y))) | product(X, Y, e_1)) | product(X, Y, e_2))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','product_total_function1')).
% 0.18/0.40  tff(43,plain,
% 0.18/0.40      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[42, 41])).
% 0.18/0.40  tff(44,plain,
% 0.18/0.40      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[43, 39])).
% 0.18/0.40  tff(45,plain,(
% 0.18/0.40      ![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(skolemize,[status(sab)],[44])).
% 0.18/0.40  tff(46,plain,
% 0.18/0.40      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[45, 38])).
% 0.18/0.40  tff(47,plain,
% 0.18/0.40      (group_element(e_2) <=> group_element(e_2)),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(48,axiom,(group_element(e_2)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_2')).
% 0.18/0.40  tff(49,plain,
% 0.18/0.40      (group_element(e_2)),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[48, 47])).
% 0.18/0.40  tff(50,plain,
% 0.18/0.40      (group_element(e_1) <=> group_element(e_1)),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(51,axiom,(group_element(e_1)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_1')).
% 0.18/0.40  tff(52,plain,
% 0.18/0.40      (group_element(e_1)),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[51, 50])).
% 0.18/0.40  tff(53,plain,
% 0.18/0.40      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | ((~group_element(e_1)) | (~group_element(e_2)) | product(e_2, e_1, e_2) | product(e_2, e_1, e_1))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (~group_element(e_1)) | (~group_element(e_2)) | product(e_2, e_1, e_2) | product(e_2, e_1, e_1))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(54,plain,
% 0.18/0.40      ((product(e_2, e_1, e_2) | product(e_2, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_2))) <=> ((~group_element(e_1)) | (~group_element(e_2)) | product(e_2, e_1, e_2) | product(e_2, e_1, e_1))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(55,plain,
% 0.18/0.40      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_1, e_2) | product(e_2, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | ((~group_element(e_1)) | (~group_element(e_2)) | product(e_2, e_1, e_2) | product(e_2, e_1, e_1)))),
% 0.18/0.40      inference(monotonicity,[status(thm)],[54])).
% 0.18/0.40  tff(56,plain,
% 0.18/0.40      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_1, e_2) | product(e_2, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (~group_element(e_1)) | (~group_element(e_2)) | product(e_2, e_1, e_2) | product(e_2, e_1, e_1))),
% 0.18/0.40      inference(transitivity,[status(thm)],[55, 53])).
% 0.18/0.40  tff(57,plain,
% 0.18/0.40      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_1, e_2) | product(e_2, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_2)))),
% 0.18/0.40      inference(quant_inst,[status(thm)],[])).
% 0.18/0.40  tff(58,plain,
% 0.18/0.40      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (~group_element(e_1)) | (~group_element(e_2)) | product(e_2, e_1, e_2) | product(e_2, e_1, e_1)),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[57, 56])).
% 0.18/0.40  tff(59,plain,
% 0.18/0.40      (product(e_2, e_1, e_2) | product(e_2, e_1, e_1)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[58, 52, 49, 46])).
% 0.18/0.40  tff(60,plain,
% 0.18/0.40      (product(e_2, e_1, e_1)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[59, 36])).
% 0.18/0.40  tff(61,plain,
% 0.18/0.40      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y))) <=> (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(62,plain,
% 0.18/0.40      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[61])).
% 0.18/0.40  tff(63,plain,
% 0.18/0.40      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(64,plain,
% 0.18/0.40      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product(X, W, Y)) | (~product(X, Z, Y))) <=> ((~product(X, Z, Y)) | (~product(X, W, Y)))), ((((~product(X, W, Y)) | (~product(X, Z, Y))) | equalish(W, Z)) <=> (((~product(X, Z, Y)) | (~product(X, W, Y))) | equalish(W, Z)))), rewrite((((~product(X, Z, Y)) | (~product(X, W, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))), ((((~product(X, W, Y)) | (~product(X, Z, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(65,plain,
% 0.18/0.40      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product(X, W, Y)) | (~product(X, Z, Y))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[64])).
% 0.18/0.40  tff(66,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product(X, W, Y)) | (~product(X, Z, Y))) | equalish(W, Z))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','product_right_cancellation')).
% 0.18/0.40  tff(67,plain,
% 0.18/0.40      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[66, 65])).
% 0.18/0.40  tff(68,plain,
% 0.18/0.40      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[67, 63])).
% 0.18/0.40  tff(69,plain,(
% 0.18/0.40      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.40      inference(skolemize,[status(sab)],[68])).
% 0.18/0.41  tff(70,plain,
% 0.18/0.41      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[69, 62])).
% 0.18/0.41  tff(71,plain,
% 0.18/0.41      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))) | (equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_1)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))) | equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_1)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(72,plain,
% 0.18/0.41      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))) | (equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_1)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(73,plain,
% 0.18/0.41      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))) | equalish(e_1, e_2) | (~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_1))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[72, 71])).
% 0.18/0.41  tff(74,plain,
% 0.18/0.41      ($false),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[73, 16, 70, 2, 60])).
% 0.18/0.41  tff(75,plain,(~product(e_2, e_2, e_1)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.41  tff(76,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(77,plain,
% 0.18/0.41      ((product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_2))) <=> (product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(78,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2))))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[77])).
% 0.18/0.41  tff(79,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)))),
% 0.18/0.41      inference(transitivity,[status(thm)],[78, 76])).
% 0.18/0.41  tff(80,plain,
% 0.18/0.41      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_2)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(81,plain,
% 0.18/0.41      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1) | (~group_element(e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[80, 79])).
% 0.18/0.41  tff(82,plain,
% 0.18/0.41      (product(e_2, e_2, e_2) | product(e_2, e_2, e_1)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[81, 49, 46])).
% 0.18/0.41  tff(83,plain,
% 0.18/0.41      (product(e_2, e_2, e_2)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[82, 75])).
% 0.18/0.41  tff(84,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_2, e_1) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(85,plain,
% 0.18/0.41      ((product(e_2, e_2, e_1) | (~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_2))) <=> (product(e_2, e_2, e_1) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(86,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_2))))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[85])).
% 0.18/0.41  tff(87,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_2, e_1) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_2)))),
% 0.18/0.41      inference(transitivity,[status(thm)],[86, 84])).
% 0.18/0.41  tff(88,plain,
% 0.18/0.41      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(89,plain,
% 0.18/0.41      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_2, e_1) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[88, 87])).
% 0.18/0.41  tff(90,plain,
% 0.18/0.41      (~product(e_2, e_1, e_2)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[89, 32, 83, 75])).
% 0.18/0.41  tff(91,plain,
% 0.18/0.41      (product(e_2, e_1, e_1)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[59, 90])).
% 0.18/0.41  tff(92,assumption,(product(e_1, e_2, e_2)), introduced(assumption)).
% 0.18/0.41  tff(93,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_2, e_1) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_1)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(94,plain,
% 0.18/0.41      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_2, e_1) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_1)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(95,plain,
% 0.18/0.41      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_2, e_1) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_1))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[94, 93])).
% 0.18/0.41  tff(96,plain,
% 0.18/0.41      ($false),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[95, 32, 75, 92, 91])).
% 0.18/0.41  tff(97,plain,(~product(e_1, e_2, e_2)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.41  tff(98,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_2, e_1) | (~group_element(e_1)) | product(e_1, e_2, e_2) | (~group_element(e_2)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | product(e_1, e_2, e_1) | (~group_element(e_1)) | product(e_1, e_2, e_2) | (~group_element(e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(99,plain,
% 0.18/0.41      ((product(e_1, e_2, e_2) | product(e_1, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_1))) <=> (product(e_1, e_2, e_1) | (~group_element(e_1)) | product(e_1, e_2, e_2) | (~group_element(e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(100,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_2, e_2) | product(e_1, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_1)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_2, e_1) | (~group_element(e_1)) | product(e_1, e_2, e_2) | (~group_element(e_2))))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[99])).
% 0.18/0.41  tff(101,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_2, e_2) | product(e_1, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_1)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | product(e_1, e_2, e_1) | (~group_element(e_1)) | product(e_1, e_2, e_2) | (~group_element(e_2)))),
% 0.18/0.41      inference(transitivity,[status(thm)],[100, 98])).
% 0.18/0.41  tff(102,plain,
% 0.18/0.41      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_2, e_2) | product(e_1, e_2, e_1) | (~group_element(e_2)) | (~group_element(e_1)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(103,plain,
% 0.18/0.41      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | product(e_1, e_2, e_1) | (~group_element(e_1)) | product(e_1, e_2, e_2) | (~group_element(e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[102, 101])).
% 0.18/0.41  tff(104,plain,
% 0.18/0.41      (product(e_1, e_2, e_1) | product(e_1, e_2, e_2)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[103, 52, 49, 46])).
% 0.18/0.41  tff(105,plain,
% 0.18/0.41      (product(e_1, e_2, e_1)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[104, 97])).
% 0.18/0.41  tff(106,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_1, e_2) | (~product(e_1, e_2, e_1)) | (~product(e_1, e_1, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_1, e_2) | (~product(e_1, e_2, e_1)) | (~product(e_1, e_1, e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(107,plain,
% 0.18/0.41      ((product(e_2, e_1, e_2) | (~product(e_1, e_1, e_2)) | (~product(e_1, e_2, e_1))) <=> (product(e_2, e_1, e_2) | (~product(e_1, e_2, e_1)) | (~product(e_1, e_1, e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(108,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_1, e_2) | (~product(e_1, e_1, e_2)) | (~product(e_1, e_2, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_1, e_2) | (~product(e_1, e_2, e_1)) | (~product(e_1, e_1, e_2))))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[107])).
% 0.18/0.41  tff(109,plain,
% 0.18/0.41      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_1, e_2) | (~product(e_1, e_1, e_2)) | (~product(e_1, e_2, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_1, e_2) | (~product(e_1, e_2, e_1)) | (~product(e_1, e_1, e_2)))),
% 0.18/0.41      inference(transitivity,[status(thm)],[108, 106])).
% 0.18/0.41  tff(110,plain,
% 0.18/0.41      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_2, e_1, e_2) | (~product(e_1, e_1, e_2)) | (~product(e_1, e_2, e_1)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(111,plain,
% 0.18/0.41      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | product(e_2, e_1, e_2) | (~product(e_1, e_2, e_1)) | (~product(e_1, e_1, e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[110, 109])).
% 0.18/0.41  tff(112,plain,
% 0.18/0.41      ($false),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[111, 32, 105, 90, 1])).
% 0.18/0.41  tff(113,plain,(~product(e_1, e_1, e_2)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.41  tff(114,plain,
% 0.18/0.41      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | ((~group_element(e_1)) | product(e_1, e_1, e_2) | product(e_1, e_1, e_1))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (~group_element(e_1)) | product(e_1, e_1, e_2) | product(e_1, e_1, e_1))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(115,plain,
% 0.18/0.42      ((product(e_1, e_1, e_2) | product(e_1, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_1))) <=> ((~group_element(e_1)) | product(e_1, e_1, e_2) | product(e_1, e_1, e_1))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(116,plain,
% 0.18/0.42      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_1, e_2) | product(e_1, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_1)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | ((~group_element(e_1)) | product(e_1, e_1, e_2) | product(e_1, e_1, e_1)))),
% 0.18/0.42      inference(monotonicity,[status(thm)],[115])).
% 0.18/0.42  tff(117,plain,
% 0.18/0.42      (((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_1, e_2) | product(e_1, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_1)))) <=> ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (~group_element(e_1)) | product(e_1, e_1, e_2) | product(e_1, e_1, e_1))),
% 0.18/0.42      inference(transitivity,[status(thm)],[116, 114])).
% 0.18/0.42  tff(118,plain,
% 0.18/0.42      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (product(e_1, e_1, e_2) | product(e_1, e_1, e_1) | (~group_element(e_1)) | (~group_element(e_1)))),
% 0.18/0.42      inference(quant_inst,[status(thm)],[])).
% 0.18/0.42  tff(119,plain,
% 0.18/0.42      ((~![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))) | (~group_element(e_1)) | product(e_1, e_1, e_2) | product(e_1, e_1, e_1)),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[118, 117])).
% 0.18/0.42  tff(120,plain,
% 0.18/0.42      (product(e_1, e_1, e_2) | product(e_1, e_1, e_1)),
% 0.18/0.42      inference(unit_resolution,[status(thm)],[119, 52, 46])).
% 0.18/0.42  tff(121,plain,
% 0.18/0.42      (product(e_1, e_1, e_1)),
% 0.18/0.42      inference(unit_resolution,[status(thm)],[120, 113])).
% 0.18/0.42  tff(122,plain,
% 0.18/0.42      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | ((~product(e_1, e_2, e_1)) | product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (~product(e_1, e_2, e_1)) | product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(123,plain,
% 0.18/0.42      ((product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)) | (~product(e_1, e_2, e_1))) <=> ((~product(e_1, e_2, e_1)) | product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(124,plain,
% 0.18/0.42      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)) | (~product(e_1, e_2, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | ((~product(e_1, e_2, e_1)) | product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1))))),
% 0.18/0.42      inference(monotonicity,[status(thm)],[123])).
% 0.18/0.42  tff(125,plain,
% 0.18/0.42      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)) | (~product(e_1, e_2, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (~product(e_1, e_2, e_1)) | product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)))),
% 0.18/0.42      inference(transitivity,[status(thm)],[124, 122])).
% 0.18/0.42  tff(126,plain,
% 0.18/0.42      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1)) | (~product(e_1, e_2, e_1)))),
% 0.18/0.42      inference(quant_inst,[status(thm)],[])).
% 0.18/0.42  tff(127,plain,
% 0.18/0.42      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product(Z2, Y, X) | (~product(Z1, Y, Z2)) | (~product(Y, X, Z1)))) | (~product(e_1, e_2, e_1)) | product(e_1, e_1, e_2) | (~product(e_1, e_1, e_1))),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[126, 125])).
% 0.18/0.42  tff(128,plain,
% 0.18/0.42      ($false),
% 0.18/0.42      inference(unit_resolution,[status(thm)],[127, 32, 105, 113, 121])).
% 0.18/0.42  % SZS output end Proof
%------------------------------------------------------------------------------