TSTP Solution File: GRP132-2.002 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : GRP132-2.002 : TPTP v8.1.0. Released v1.2.0.
% 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:26:16 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.00/0.12  % Problem  : GRP132-2.002 : TPTP v8.1.0. Released v1.2.0.
% 0.12/0.12  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.12/0.33  % Computer : n008.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 300
% 0.12/0.33  % DateTime : Wed Aug 31 15:10:40 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 0.12/0.34  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.12/0.34  Usage: tptp [options] [-file:]file
% 0.12/0.34    -h, -?       prints this message.
% 0.12/0.34    -smt2        print SMT-LIB2 benchmark.
% 0.12/0.34    -m, -model   generate model.
% 0.12/0.34    -p, -proof   generate proof.
% 0.12/0.34    -c, -core    generate unsat core of named formulas.
% 0.12/0.34    -st, -statistics display statistics.
% 0.12/0.34    -t:timeout   set timeout (in second).
% 0.12/0.34    -smt2status  display status in smt2 format instead of SZS.
% 0.12/0.34    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.12/0.34    -<param>:<value> configuration parameter and value.
% 0.12/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_2, 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_2, e_1, 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(X, Z, Y)) | (~product(X, W, Y))) <=> (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y))))),
% 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(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.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(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.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(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.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(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.39      inference(quant_intro,[status(thm)],[7])).
% 0.18/0.39  tff(9,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.39  tff(10,plain,
% 0.18/0.39      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(X, Z, Y)) | (~product(X, W, Y)))),
% 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(X, Z, Y)) | (~product(X, W, Y)))),
% 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(X, Z, Y)) | (~product(X, W, Y)))),
% 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(X, Z, Y)) | (~product(X, W, Y)))),
% 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(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.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(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.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(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.39      inference(modus_ponens,[status(thm)],[18, 17])).
% 0.18/0.39  tff(20,plain,
% 0.18/0.39      ($false),
% 0.18/0.39      inference(unit_resolution,[status(thm)],[19, 16, 13, 2, 3])).
% 0.18/0.39  tff(21,plain,((~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_1))), inference(lemma,lemma(discharge,[]))).
% 0.18/0.39  tff(22,plain,
% 0.18/0.39      (~product(e_2, e_1, e_1)),
% 0.18/0.39      inference(unit_resolution,[status(thm)],[21, 2])).
% 0.18/0.39  tff(23,plain,
% 0.18/0.39      (^[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.39      inference(bind,[status(th)],[])).
% 0.18/0.39  tff(24,plain,
% 0.18/0.39      (![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.39      inference(quant_intro,[status(thm)],[23])).
% 0.18/0.39  tff(25,plain,
% 0.18/0.39      (![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.39      inference(rewrite,[status(thm)],[])).
% 0.18/0.39  tff(26,plain,
% 0.18/0.39      (^[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.39      inference(bind,[status(th)],[])).
% 0.18/0.39  tff(27,plain,
% 0.18/0.39      (![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.39      inference(quant_intro,[status(thm)],[26])).
% 0.18/0.39  tff(28,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.39  tff(29,plain,
% 0.18/0.39      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[28, 27])).
% 0.18/0.39  tff(30,plain,
% 0.18/0.39      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[29, 25])).
% 0.18/0.39  tff(31,plain,(
% 0.18/0.39      ![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.39      inference(skolemize,[status(sab)],[30])).
% 0.18/0.39  tff(32,plain,
% 0.18/0.39      (![Y: $i, X: $i] : (product(X, Y, e_2) | product(X, Y, e_1) | (~group_element(Y)) | (~group_element(X)))),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[31, 24])).
% 0.18/0.39  tff(33,plain,
% 0.18/0.39      (group_element(e_2) <=> group_element(e_2)),
% 0.18/0.39      inference(rewrite,[status(thm)],[])).
% 0.18/0.39  tff(34,axiom,(group_element(e_2)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_2')).
% 0.18/0.39  tff(35,plain,
% 0.18/0.39      (group_element(e_2)),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[34, 33])).
% 0.18/0.39  tff(36,plain,
% 0.18/0.39      (group_element(e_1) <=> group_element(e_1)),
% 0.18/0.39      inference(rewrite,[status(thm)],[])).
% 0.18/0.39  tff(37,axiom,(group_element(e_1)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_1')).
% 0.18/0.39  tff(38,plain,
% 0.18/0.39      (group_element(e_1)),
% 0.18/0.39      inference(modus_ponens,[status(thm)],[37, 36])).
% 0.18/0.39  tff(39,plain,
% 0.18/0.39      (((~![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_2, e_1, e_1) | (~group_element(e_2)) | product(e_2, e_1, 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)) | product(e_2, e_1, e_1) | (~group_element(e_2)) | product(e_2, e_1, e_2))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(40,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)) | product(e_2, e_1, e_1) | (~group_element(e_2)) | product(e_2, e_1, e_2))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(41,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)) | product(e_2, e_1, e_1) | (~group_element(e_2)) | product(e_2, e_1, e_2)))),
% 0.18/0.40      inference(monotonicity,[status(thm)],[40])).
% 0.18/0.40  tff(42,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)) | product(e_2, e_1, e_1) | (~group_element(e_2)) | product(e_2, e_1, e_2))),
% 0.18/0.40      inference(transitivity,[status(thm)],[41, 39])).
% 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)))) | (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(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)))) | (~group_element(e_1)) | product(e_2, e_1, e_1) | (~group_element(e_2)) | product(e_2, e_1, e_2)),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[43, 42])).
% 0.18/0.40  tff(45,plain,
% 0.18/0.40      (product(e_2, e_1, e_1) | product(e_2, e_1, e_2)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[44, 38, 35, 32])).
% 0.18/0.40  tff(46,plain,
% 0.18/0.40      (product(e_2, e_1, e_2)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[45, 22])).
% 0.18/0.40  tff(47,assumption,(product(e_1, e_2, e_2)), introduced(assumption)).
% 0.18/0.40  tff(48,plain,
% 0.18/0.40      (^[Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : refl(((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2)) <=> ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2)))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(49,plain,
% 0.18/0.40      (![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2)) <=> ![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[48])).
% 0.18/0.40  tff(50,plain,
% 0.18/0.40      (![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2)) <=> ![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(51,plain,
% 0.18/0.40      (^[Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : trans(monotonicity(trans(monotonicity(rewrite((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) <=> ((~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)))), (((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) | (~product(Z2, X2, Y2))) <=> (((~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1))) | (~product(Z2, X2, Y2))))), rewrite((((~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1))) | (~product(Z2, X2, Y2))) <=> ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)))), (((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) | (~product(Z2, X2, Y2))) <=> ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1))))), ((((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) | (~product(Z2, X2, Y2))) | equalish(Y1, Y2)) <=> (((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1))) | equalish(Y1, Y2)))), rewrite((((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1))) | equalish(Y1, Y2)) <=> ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))), ((((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) | (~product(Z2, X2, Y2))) | equalish(Y1, Y2)) <=> ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))))),
% 0.18/0.40      inference(bind,[status(th)],[])).
% 0.18/0.40  tff(52,plain,
% 0.18/0.40      (![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : (((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) | (~product(Z2, X2, Y2))) | equalish(Y1, Y2)) <=> ![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(quant_intro,[status(thm)],[51])).
% 0.18/0.40  tff(53,axiom,(![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : (((((~product(X1, Y1, Z1)) | (~product(X2, Y2, Z1))) | (~product(Z2, X1, Y1))) | (~product(Z2, X2, Y2))) | equalish(Y1, Y2))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','qg2_2')).
% 0.18/0.40  tff(54,plain,
% 0.18/0.40      (![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[53, 52])).
% 0.18/0.40  tff(55,plain,
% 0.18/0.40      (![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[54, 50])).
% 0.18/0.40  tff(56,plain,(
% 0.18/0.40      ![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(skolemize,[status(sab)],[55])).
% 0.18/0.40  tff(57,plain,
% 0.18/0.40      (![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[56, 49])).
% 0.18/0.40  tff(58,plain,
% 0.18/0.40      ((~equalish(e_2, e_1)) <=> (~equalish(e_2, e_1))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(59,axiom,(~equalish(e_2, e_1)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','e_2_is_not_e_1')).
% 0.18/0.40  tff(60,plain,
% 0.18/0.40      (~equalish(e_2, e_1)),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[59, 58])).
% 0.18/0.40  tff(61,plain,
% 0.18/0.40      (((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | (equalish(e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_2)))) <=> ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | equalish(e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(62,plain,
% 0.18/0.40      (((~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_1, e_2)) | (~product(e_1, e_2, e_2)) | equalish(e_2, e_1)) <=> (equalish(e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(63,plain,
% 0.18/0.40      (((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | ((~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_1, e_2)) | (~product(e_1, e_2, e_2)) | equalish(e_2, e_1))) <=> ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | (equalish(e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_2))))),
% 0.18/0.40      inference(monotonicity,[status(thm)],[62])).
% 0.18/0.40  tff(64,plain,
% 0.18/0.40      (((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | ((~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_1, e_2)) | (~product(e_1, e_2, e_2)) | equalish(e_2, e_1))) <=> ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | equalish(e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.40      inference(transitivity,[status(thm)],[63, 61])).
% 0.18/0.40  tff(65,plain,
% 0.18/0.40      ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | ((~product(e_2, e_2, e_1)) | (~product(e_2, e_1, e_2)) | (~product(e_2, e_1, e_2)) | (~product(e_1, e_2, e_2)) | equalish(e_2, e_1))),
% 0.18/0.40      inference(quant_inst,[status(thm)],[])).
% 0.18/0.40  tff(66,plain,
% 0.18/0.40      ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | equalish(e_2, e_1) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2)) | (~product(e_2, e_1, e_2))),
% 0.18/0.40      inference(modus_ponens,[status(thm)],[65, 64])).
% 0.18/0.40  tff(67,plain,
% 0.18/0.40      ($false),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[66, 60, 57, 2, 47, 1])).
% 0.18/0.40  tff(68,plain,((~product(e_2, e_1, e_2)) | (~product(e_2, e_2, e_1)) | (~product(e_1, e_2, e_2))), inference(lemma,lemma(discharge,[]))).
% 0.18/0.40  tff(69,plain,
% 0.18/0.40      (~product(e_1, e_2, e_2)),
% 0.18/0.40      inference(unit_resolution,[status(thm)],[68, 46, 2])).
% 0.18/0.40  tff(70,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_1, e_2, e_2) | (~group_element(e_1)) | product(e_1, 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_1, e_2, e_2) | (~group_element(e_1)) | product(e_1, e_2, e_1) | (~group_element(e_2)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(71,plain,
% 0.18/0.40      ((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_2) | (~group_element(e_1)) | product(e_1, e_2, e_1) | (~group_element(e_2)))),
% 0.18/0.40      inference(rewrite,[status(thm)],[])).
% 0.18/0.40  tff(72,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_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_2) | (~group_element(e_1)) | product(e_1, e_2, e_1) | (~group_element(e_2))))),
% 0.18/0.40      inference(monotonicity,[status(thm)],[71])).
% 0.18/0.40  tff(73,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_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_2) | (~group_element(e_1)) | product(e_1, e_2, e_1) | (~group_element(e_2)))),
% 0.18/0.40      inference(transitivity,[status(thm)],[72, 70])).
% 0.18/0.40  tff(74,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_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(75,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) | (~group_element(e_1)) | product(e_1, e_2, e_1) | (~group_element(e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[74, 73])).
% 0.18/0.41  tff(76,plain,
% 0.18/0.41      (product(e_1, e_2, e_2) | product(e_1, e_2, e_1)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[75, 38, 35, 32])).
% 0.18/0.41  tff(77,plain,
% 0.18/0.41      (product(e_1, e_2, e_1)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[76, 69])).
% 0.18/0.41  tff(78,plain,
% 0.18/0.41      (^[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.41      inference(bind,[status(th)],[])).
% 0.18/0.41  tff(79,plain,
% 0.18/0.41      (![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.41      inference(quant_intro,[status(thm)],[78])).
% 0.18/0.41  tff(80,plain,
% 0.18/0.41      (![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.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(81,plain,
% 0.18/0.41      (^[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.41      inference(bind,[status(th)],[])).
% 0.18/0.41  tff(82,plain,
% 0.18/0.41      (![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.41      inference(quant_intro,[status(thm)],[81])).
% 0.18/0.41  tff(83,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.41  tff(84,plain,
% 0.18/0.41      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[83, 82])).
% 0.18/0.41  tff(85,plain,
% 0.18/0.41      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[84, 80])).
% 0.18/0.41  tff(86,plain,(
% 0.18/0.41      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.41      inference(skolemize,[status(sab)],[85])).
% 0.18/0.41  tff(87,plain,
% 0.18/0.41      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product(Z, Y, X)) | (~product(W, Y, X)))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[86, 79])).
% 0.18/0.41  tff(88,plain,
% 0.18/0.41      (((~![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.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(89,plain,
% 0.18/0.41      ((~![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.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(90,plain,
% 0.18/0.41      ((~![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.41      inference(modus_ponens,[status(thm)],[89, 88])).
% 0.18/0.41  tff(91,plain,
% 0.18/0.41      ($false),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[90, 16, 87, 2, 77])).
% 0.18/0.41  tff(92,plain,(~product(e_2, e_2, e_1)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.41  tff(93,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_2)) | product(e_2, e_2, e_2) | product(e_2, e_2, 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_2)) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(94,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))) <=> ((~group_element(e_2)) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(95,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)))) | ((~group_element(e_2)) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1)))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[94])).
% 0.18/0.41  tff(96,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)))) | (~group_element(e_2)) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1))),
% 0.18/0.41      inference(transitivity,[status(thm)],[95, 93])).
% 0.18/0.41  tff(97,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(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)))) | (~group_element(e_2)) | product(e_2, e_2, e_2) | product(e_2, e_2, e_1)),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[97, 96])).
% 0.18/0.41  tff(99,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)],[98, 35, 32])).
% 0.18/0.41  tff(100,plain,
% 0.18/0.41      (product(e_2, e_2, e_2)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[99, 92])).
% 0.18/0.41  tff(101,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_2)) | (~product(e_2, e_1, e_2)))) <=> ((~![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_2)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(102,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_2)) | (~product(e_2, e_1, e_2)))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(103,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_2)) | (~product(e_2, e_1, e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[102, 101])).
% 0.18/0.41  tff(104,plain,
% 0.18/0.41      ($false),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[103, 16, 13, 100, 1])).
% 0.18/0.41  tff(105,plain,(~product(e_2, e_1, e_2)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.41  tff(106,plain,
% 0.18/0.41      (product(e_2, e_1, e_1)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[45, 105])).
% 0.18/0.41  tff(107,plain,
% 0.18/0.41      (((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | (equalish(e_1, e_2) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)))) <=> ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | equalish(e_1, e_2) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~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      (((~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)) | equalish(e_1, e_2)) <=> (equalish(e_1, e_2) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(109,plain,
% 0.18/0.41      (((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | ((~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)) | equalish(e_1, e_2))) <=> ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | (equalish(e_1, e_2) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2))))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[108])).
% 0.18/0.41  tff(110,plain,
% 0.18/0.41      (((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | ((~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)) | equalish(e_1, e_2))) <=> ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | equalish(e_1, e_2) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)))),
% 0.18/0.41      inference(transitivity,[status(thm)],[109, 107])).
% 0.18/0.41  tff(111,plain,
% 0.18/0.41      ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | ((~product(e_2, e_2, e_2)) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2)) | equalish(e_1, e_2))),
% 0.18/0.41      inference(quant_inst,[status(thm)],[])).
% 0.18/0.41  tff(112,plain,
% 0.18/0.41      ((~![Y2: $i, Y1: $i, Z1: $i, X2: $i, Z2: $i, X1: $i] : ((~product(Z2, X2, Y2)) | (~product(Z2, X1, Y1)) | (~product(X2, Y2, Z1)) | (~product(X1, Y1, Z1)) | equalish(Y1, Y2))) | equalish(e_1, e_2) | (~product(e_2, e_1, e_1)) | (~product(e_2, e_2, e_2)) | (~product(e_1, e_1, e_2))),
% 0.18/0.41      inference(modus_ponens,[status(thm)],[111, 110])).
% 0.18/0.41  tff(113,plain,
% 0.18/0.41      (~product(e_1, e_1, e_2)),
% 0.18/0.41      inference(unit_resolution,[status(thm)],[112, 16, 57, 100, 106])).
% 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_1) | product(e_1, e_1, 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)) | product(e_1, e_1, e_1) | product(e_1, e_1, e_2))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(115,plain,
% 0.18/0.41      ((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_1) | product(e_1, e_1, e_2))),
% 0.18/0.41      inference(rewrite,[status(thm)],[])).
% 0.18/0.41  tff(116,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_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_1) | product(e_1, e_1, e_2)))),
% 0.18/0.41      inference(monotonicity,[status(thm)],[115])).
% 0.18/0.41  tff(117,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_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_1) | product(e_1, e_1, e_2))),
% 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_1) | product(e_1, e_1, e_2)),
% 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_1)),
% 0.18/0.42      inference(unit_resolution,[status(thm)],[119, 38, 32, 113])).
% 0.18/0.42  tff(121,plain,
% 0.18/0.42      (((~![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_1, e_1)) | (~product(e_1, e_1, 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_1, e_1)) | (~product(e_1, e_1, e_1)))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(122,plain,
% 0.18/0.42      ((~![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_1, e_1)) | (~product(e_1, e_1, e_1)))),
% 0.18/0.42      inference(quant_inst,[status(thm)],[])).
% 0.18/0.42  tff(123,plain,
% 0.18/0.42      ((~![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_1, e_1)) | (~product(e_1, e_1, e_1))),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[122, 121])).
% 0.18/0.42  tff(124,plain,
% 0.18/0.42      ($false),
% 0.18/0.42      inference(unit_resolution,[status(thm)],[123, 16, 87, 106, 120])).
% 0.18/0.42  % SZS output end Proof
%------------------------------------------------------------------------------