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

View Problem - Process Solution

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

% Computer : n004.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Fri Sep 16 22:25:57 EDT 2022

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

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.11  % Problem  : GRP123-7.003 : TPTP v8.1.0. Released v1.2.0.
% 0.11/0.12  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.12/0.33  % Computer : n004.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 14:48:49 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.42  % SZS status Unsatisfiable
% 0.18/0.42  % SZS output start Proof
% 0.18/0.42  tff(product2_type, type, (
% 0.18/0.42     product2: ( $i * $i * $i ) > $o)).
% 0.18/0.42  tff(e_3_type, type, (
% 0.18/0.42     e_3: $i)).
% 0.18/0.42  tff(e_2_type, type, (
% 0.18/0.42     e_2: $i)).
% 0.18/0.42  tff(equalish_type, type, (
% 0.18/0.42     equalish: ( $i * $i ) > $o)).
% 0.18/0.42  tff(product1_type, type, (
% 0.18/0.42     product1: ( $i * $i * $i ) > $o)).
% 0.18/0.42  tff(e_1_type, type, (
% 0.18/0.42     e_1: $i)).
% 0.18/0.42  tff(group_element_type, type, (
% 0.18/0.42     group_element: $i > $o)).
% 0.18/0.42  tff(1,plain,
% 0.18/0.42      (^[X: $i] : refl(product2(X, X, X) <=> product2(X, X, X))),
% 0.18/0.42      inference(bind,[status(th)],[])).
% 0.18/0.42  tff(2,plain,
% 0.18/0.42      (![X: $i] : product2(X, X, X) <=> ![X: $i] : product2(X, X, X)),
% 0.18/0.42      inference(quant_intro,[status(thm)],[1])).
% 0.18/0.42  tff(3,plain,
% 0.18/0.42      (![X: $i] : product2(X, X, X) <=> ![X: $i] : product2(X, X, X)),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(4,axiom,(![X: $i] : product2(X, X, X)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','product2_idempotence')).
% 0.18/0.42  tff(5,plain,
% 0.18/0.42      (![X: $i] : product2(X, X, X)),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[4, 3])).
% 0.18/0.42  tff(6,plain,(
% 0.18/0.42      ![X: $i] : product2(X, X, X)),
% 0.18/0.42      inference(skolemize,[status(sab)],[5])).
% 0.18/0.42  tff(7,plain,
% 0.18/0.42      (![X: $i] : product2(X, X, X)),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[6, 2])).
% 0.18/0.42  tff(8,plain,
% 0.18/0.42      ((~![X: $i] : product2(X, X, X)) | product2(e_3, e_3, e_3)),
% 0.18/0.42      inference(quant_inst,[status(thm)],[])).
% 0.18/0.42  tff(9,plain,
% 0.18/0.42      (product2(e_3, e_3, e_3)),
% 0.18/0.42      inference(unit_resolution,[status(thm)],[8, 7])).
% 0.18/0.42  tff(10,assumption,(product2(e_3, e_2, e_3)), introduced(assumption)).
% 0.18/0.42  tff(11,plain,
% 0.18/0.42      (^[W: $i, Z: $i, Y: $i, X: $i] : refl((equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))) <=> (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))))),
% 0.18/0.42      inference(bind,[status(th)],[])).
% 0.18/0.42  tff(12,plain,
% 0.18/0.42      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(quant_intro,[status(thm)],[11])).
% 0.18/0.42  tff(13,plain,
% 0.18/0.42      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y))) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.42  tff(14,plain,
% 0.18/0.42      (^[W: $i, Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite(((~product2(X, W, Y)) | (~product2(X, Z, Y))) <=> ((~product2(X, Z, Y)) | (~product2(X, W, Y)))), ((((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z)) <=> (((~product2(X, Z, Y)) | (~product2(X, W, Y))) | equalish(W, Z)))), rewrite((((~product2(X, Z, Y)) | (~product2(X, W, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))), ((((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z)) <=> (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))))),
% 0.18/0.42      inference(bind,[status(th)],[])).
% 0.18/0.42  tff(15,plain,
% 0.18/0.42      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(quant_intro,[status(thm)],[14])).
% 0.18/0.42  tff(16,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product2(X, W, Y)) | (~product2(X, Z, Y))) | equalish(W, Z))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','product2_right_cancellation')).
% 0.18/0.42  tff(17,plain,
% 0.18/0.42      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[16, 15])).
% 0.18/0.42  tff(18,plain,
% 0.18/0.42      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[17, 13])).
% 0.18/0.42  tff(19,plain,(
% 0.18/0.42      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(skolemize,[status(sab)],[18])).
% 0.18/0.42  tff(20,plain,
% 0.18/0.42      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))),
% 0.18/0.42      inference(modus_ponens,[status(thm)],[19, 12])).
% 0.18/0.42  tff(21,plain,
% 0.18/0.42      ((~equalish(e_2, e_3)) <=> (~equalish(e_2, e_3))),
% 0.18/0.42      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(22,axiom,(~equalish(e_2, e_3)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','e_2_is_not_e_3')).
% 0.18/0.43  tff(23,plain,
% 0.18/0.43      (~equalish(e_2, e_3)),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[22, 21])).
% 0.18/0.43  tff(24,plain,
% 0.18/0.43      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_2, e_3) | (~product2(e_3, e_2, e_3)) | (~product2(e_3, e_3, e_3)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | equalish(e_2, e_3) | (~product2(e_3, e_2, e_3)) | (~product2(e_3, e_3, e_3)))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(25,plain,
% 0.18/0.43      ((equalish(e_2, e_3) | (~product2(e_3, e_3, e_3)) | (~product2(e_3, e_2, e_3))) <=> (equalish(e_2, e_3) | (~product2(e_3, e_2, e_3)) | (~product2(e_3, e_3, e_3)))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(26,plain,
% 0.18/0.43      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_2, e_3) | (~product2(e_3, e_3, e_3)) | (~product2(e_3, e_2, e_3)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_2, e_3) | (~product2(e_3, e_2, e_3)) | (~product2(e_3, e_3, e_3))))),
% 0.18/0.43      inference(monotonicity,[status(thm)],[25])).
% 0.18/0.43  tff(27,plain,
% 0.18/0.43      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_2, e_3) | (~product2(e_3, e_3, e_3)) | (~product2(e_3, e_2, e_3)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | equalish(e_2, e_3) | (~product2(e_3, e_2, e_3)) | (~product2(e_3, e_3, e_3)))),
% 0.18/0.43      inference(transitivity,[status(thm)],[26, 24])).
% 0.18/0.43  tff(28,plain,
% 0.18/0.43      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | (equalish(e_2, e_3) | (~product2(e_3, e_3, e_3)) | (~product2(e_3, e_2, e_3)))),
% 0.18/0.43      inference(quant_inst,[status(thm)],[])).
% 0.18/0.43  tff(29,plain,
% 0.18/0.43      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Z, Y)) | (~product2(X, W, Y)))) | equalish(e_2, e_3) | (~product2(e_3, e_2, e_3)) | (~product2(e_3, e_3, e_3))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[28, 27])).
% 0.18/0.43  tff(30,plain,
% 0.18/0.43      ($false),
% 0.18/0.43      inference(unit_resolution,[status(thm)],[29, 23, 20, 10, 9])).
% 0.18/0.43  tff(31,plain,(~product2(e_3, e_2, e_3)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.43  tff(32,assumption,(product2(e_2, e_2, e_3)), introduced(assumption)).
% 0.18/0.43  tff(33,plain,
% 0.18/0.43      ((~![X: $i] : product2(X, X, X)) | product2(e_2, e_2, e_2)),
% 0.18/0.43      inference(quant_inst,[status(thm)],[])).
% 0.18/0.43  tff(34,plain,
% 0.18/0.43      (product2(e_2, e_2, e_2)),
% 0.18/0.43      inference(unit_resolution,[status(thm)],[33, 7])).
% 0.18/0.43  tff(35,plain,
% 0.18/0.43      (^[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.18/0.43      inference(bind,[status(th)],[])).
% 0.18/0.43  tff(36,plain,
% 0.18/0.43      (![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.18/0.43      inference(quant_intro,[status(thm)],[35])).
% 0.18/0.43  tff(37,plain,
% 0.18/0.43      (![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.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(38,plain,
% 0.18/0.43      (^[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.18/0.43      inference(bind,[status(th)],[])).
% 0.18/0.43  tff(39,plain,
% 0.18/0.43      (![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.18/0.43      inference(quant_intro,[status(thm)],[38])).
% 0.18/0.43  tff(40,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.18/0.43  tff(41,plain,
% 0.18/0.43      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[40, 39])).
% 0.18/0.43  tff(42,plain,
% 0.18/0.43      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[41, 37])).
% 0.18/0.43  tff(43,plain,(
% 0.18/0.43      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.18/0.43      inference(skolemize,[status(sab)],[42])).
% 0.18/0.43  tff(44,plain,
% 0.18/0.43      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[43, 36])).
% 0.18/0.43  tff(45,plain,
% 0.18/0.43      ((~equalish(e_3, e_2)) <=> (~equalish(e_3, e_2))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(46,axiom,(~equalish(e_3, e_2)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','e_3_is_not_e_2')).
% 0.18/0.43  tff(47,plain,
% 0.18/0.43      (~equalish(e_3, e_2)),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[46, 45])).
% 0.18/0.43  tff(48,plain,
% 0.18/0.43      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_3, e_2) | (~product2(e_2, e_2, e_3)) | (~product2(e_2, e_2, e_2)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | equalish(e_3, e_2) | (~product2(e_2, e_2, e_3)) | (~product2(e_2, e_2, e_2)))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(49,plain,
% 0.18/0.43      ((equalish(e_3, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_2, e_3))) <=> (equalish(e_3, e_2) | (~product2(e_2, e_2, e_3)) | (~product2(e_2, e_2, e_2)))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(50,plain,
% 0.18/0.43      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_3, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_2, e_3)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_3, e_2) | (~product2(e_2, e_2, e_3)) | (~product2(e_2, e_2, e_2))))),
% 0.18/0.43      inference(monotonicity,[status(thm)],[49])).
% 0.18/0.43  tff(51,plain,
% 0.18/0.43      (((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_3, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_2, e_3)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | equalish(e_3, e_2) | (~product2(e_2, e_2, e_3)) | (~product2(e_2, e_2, e_2)))),
% 0.18/0.43      inference(transitivity,[status(thm)],[50, 48])).
% 0.18/0.43  tff(52,plain,
% 0.18/0.43      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | (equalish(e_3, e_2) | (~product2(e_2, e_2, e_2)) | (~product2(e_2, e_2, e_3)))),
% 0.18/0.43      inference(quant_inst,[status(thm)],[])).
% 0.18/0.43  tff(53,plain,
% 0.18/0.43      ((~![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product2(X, Y, Z)) | (~product2(X, Y, W)))) | equalish(e_3, e_2) | (~product2(e_2, e_2, e_3)) | (~product2(e_2, e_2, e_2))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[52, 51])).
% 0.18/0.43  tff(54,plain,
% 0.18/0.43      ($false),
% 0.18/0.43      inference(unit_resolution,[status(thm)],[53, 47, 44, 34, 32])).
% 0.18/0.43  tff(55,plain,(~product2(e_2, e_2, e_3)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.43  tff(56,assumption,(product1(e_2, e_3, e_2)), introduced(assumption)).
% 0.18/0.43  tff(57,plain,
% 0.18/0.43      (^[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.18/0.43      inference(bind,[status(th)],[])).
% 0.18/0.43  tff(58,plain,
% 0.18/0.43      (![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.18/0.43      inference(quant_intro,[status(thm)],[57])).
% 0.18/0.43  tff(59,plain,
% 0.18/0.43      (![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.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(60,plain,
% 0.18/0.43      (^[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.18/0.43      inference(bind,[status(th)],[])).
% 0.18/0.43  tff(61,plain,
% 0.18/0.43      (![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.18/0.43      inference(quant_intro,[status(thm)],[60])).
% 0.18/0.43  tff(62,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.18/0.43  tff(63,plain,
% 0.18/0.43      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[62, 61])).
% 0.18/0.43  tff(64,plain,
% 0.18/0.43      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[63, 59])).
% 0.18/0.43  tff(65,plain,(
% 0.18/0.43      ![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.18/0.43      inference(skolemize,[status(sab)],[64])).
% 0.18/0.43  tff(66,plain,
% 0.18/0.43      (![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[65, 58])).
% 0.18/0.43  tff(67,plain,
% 0.18/0.43      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(68,plain,
% 0.18/0.43      ((product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)) | (~product1(e_2, e_3, e_2))) <=> (product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)))),
% 0.18/0.43      inference(rewrite,[status(thm)],[])).
% 0.18/0.43  tff(69,plain,
% 0.18/0.43      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)) | (~product1(e_2, e_3, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2))))),
% 0.18/0.43      inference(monotonicity,[status(thm)],[68])).
% 0.18/0.43  tff(70,plain,
% 0.18/0.43      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)) | (~product1(e_2, e_3, e_2)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)))),
% 0.18/0.43      inference(transitivity,[status(thm)],[69, 67])).
% 0.18/0.43  tff(71,plain,
% 0.18/0.43      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2)) | (~product1(e_2, e_3, e_2)))),
% 0.18/0.43      inference(quant_inst,[status(thm)],[])).
% 0.18/0.43  tff(72,plain,
% 0.18/0.43      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_2))),
% 0.18/0.43      inference(modus_ponens,[status(thm)],[71, 70])).
% 0.18/0.43  tff(73,plain,
% 0.18/0.43      ($false),
% 0.18/0.43      inference(unit_resolution,[status(thm)],[72, 66, 56, 55])).
% 0.18/0.43  tff(74,plain,(~product1(e_2, e_3, e_2)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.43  tff(75,plain,
% 0.18/0.43      (^[X: $i] : refl(product1(X, X, X) <=> product1(X, X, X))),
% 0.18/0.43      inference(bind,[status(th)],[])).
% 0.18/0.44  tff(76,plain,
% 0.18/0.44      (![X: $i] : product1(X, X, X) <=> ![X: $i] : product1(X, X, X)),
% 0.18/0.44      inference(quant_intro,[status(thm)],[75])).
% 0.18/0.44  tff(77,plain,
% 0.18/0.44      (![X: $i] : product1(X, X, X) <=> ![X: $i] : product1(X, X, X)),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(78,axiom,(![X: $i] : product1(X, X, X)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','product1_idempotence')).
% 0.18/0.44  tff(79,plain,
% 0.18/0.44      (![X: $i] : product1(X, X, X)),
% 0.18/0.44      inference(modus_ponens,[status(thm)],[78, 77])).
% 0.18/0.44  tff(80,plain,(
% 0.18/0.44      ![X: $i] : product1(X, X, X)),
% 0.18/0.44      inference(skolemize,[status(sab)],[79])).
% 0.18/0.44  tff(81,plain,
% 0.18/0.44      (![X: $i] : product1(X, X, X)),
% 0.18/0.44      inference(modus_ponens,[status(thm)],[80, 76])).
% 0.18/0.44  tff(82,plain,
% 0.18/0.44      ((~![X: $i] : product1(X, X, X)) | product1(e_3, e_3, e_3)),
% 0.18/0.44      inference(quant_inst,[status(thm)],[])).
% 0.18/0.44  tff(83,plain,
% 0.18/0.44      (product1(e_3, e_3, e_3)),
% 0.18/0.44      inference(unit_resolution,[status(thm)],[82, 81])).
% 0.18/0.44  tff(84,plain,
% 0.18/0.44      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | ((~product1(e_3, e_3, e_3)) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_3)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_3, e_3, e_3)) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_3)))),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(85,plain,
% 0.18/0.44      ((product2(e_3, e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_2, e_3, e_3))) <=> ((~product1(e_3, e_3, e_3)) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_3)))),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(86,plain,
% 0.18/0.44      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_3, e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_2, e_3, e_3)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | ((~product1(e_3, e_3, e_3)) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_3))))),
% 0.18/0.44      inference(monotonicity,[status(thm)],[85])).
% 0.18/0.44  tff(87,plain,
% 0.18/0.44      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_3, e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_2, e_3, e_3)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_3, e_3, e_3)) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_3)))),
% 0.18/0.44      inference(transitivity,[status(thm)],[86, 84])).
% 0.18/0.44  tff(88,plain,
% 0.18/0.44      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_3, e_2, e_3) | (~product1(e_3, e_3, e_3)) | (~product1(e_2, e_3, e_3)))),
% 0.18/0.44      inference(quant_inst,[status(thm)],[])).
% 0.18/0.44  tff(89,plain,
% 0.18/0.44      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_3, e_3, e_3)) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_3))),
% 0.18/0.44      inference(modus_ponens,[status(thm)],[88, 87])).
% 0.18/0.44  tff(90,plain,
% 0.18/0.44      (~product1(e_2, e_3, e_3)),
% 0.18/0.44      inference(unit_resolution,[status(thm)],[89, 66, 83, 31])).
% 0.18/0.44  tff(91,plain,
% 0.18/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.18/0.44      inference(bind,[status(th)],[])).
% 0.18/0.44  tff(92,plain,
% 0.18/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.18/0.44      inference(quant_intro,[status(thm)],[91])).
% 0.18/0.44  tff(93,plain,
% 0.18/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.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(94,plain,
% 0.18/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.18/0.44      inference(bind,[status(th)],[])).
% 0.18/0.44  tff(95,plain,
% 0.18/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.18/0.44      inference(quant_intro,[status(thm)],[94])).
% 0.18/0.44  tff(96,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.18/0.44  tff(97,plain,
% 0.18/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.18/0.44      inference(modus_ponens,[status(thm)],[96, 95])).
% 0.18/0.44  tff(98,plain,
% 0.18/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.18/0.44      inference(modus_ponens,[status(thm)],[97, 93])).
% 0.18/0.44  tff(99,plain,(
% 0.18/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.18/0.44      inference(skolemize,[status(sab)],[98])).
% 0.18/0.44  tff(100,plain,
% 0.18/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.18/0.44      inference(modus_ponens,[status(thm)],[99, 92])).
% 0.18/0.44  tff(101,plain,
% 0.18/0.44      (group_element(e_3) <=> group_element(e_3)),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(102,axiom,(group_element(e_3)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_3')).
% 0.18/0.44  tff(103,plain,
% 0.18/0.44      (group_element(e_3)),
% 0.18/0.44      inference(modus_ponens,[status(thm)],[102, 101])).
% 0.18/0.44  tff(104,plain,
% 0.18/0.44      (group_element(e_2) <=> group_element(e_2)),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(105,axiom,(group_element(e_2)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_2')).
% 0.18/0.44  tff(106,plain,
% 0.18/0.44      (group_element(e_2)),
% 0.18/0.44      inference(modus_ponens,[status(thm)],[105, 104])).
% 0.18/0.44  tff(107,plain,
% 0.18/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)))) | ((~group_element(e_2)) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | (~group_element(e_3)) | product1(e_2, e_3, 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_2)) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | (~group_element(e_3)) | product1(e_2, e_3, e_1))),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(108,plain,
% 0.18/0.44      ((product1(e_2, e_3, e_3) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_1) | (~group_element(e_3)) | (~group_element(e_2))) <=> ((~group_element(e_2)) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | (~group_element(e_3)) | product1(e_2, e_3, e_1))),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(109,plain,
% 0.18/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_2, e_3, e_3) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_1) | (~group_element(e_3)) | (~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_2)) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | (~group_element(e_3)) | product1(e_2, e_3, e_1)))),
% 0.18/0.44      inference(monotonicity,[status(thm)],[108])).
% 0.18/0.44  tff(110,plain,
% 0.18/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_2, e_3, e_3) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_1) | (~group_element(e_3)) | (~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_2)) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | (~group_element(e_3)) | product1(e_2, e_3, e_1))),
% 0.18/0.44      inference(transitivity,[status(thm)],[109, 107])).
% 0.18/0.44  tff(111,plain,
% 0.18/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_2, e_3, e_3) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_1) | (~group_element(e_3)) | (~group_element(e_2)))),
% 0.18/0.44      inference(quant_inst,[status(thm)],[])).
% 0.18/0.44  tff(112,plain,
% 0.18/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)))) | (~group_element(e_2)) | product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | (~group_element(e_3)) | product1(e_2, e_3, e_1)),
% 0.18/0.44      inference(modus_ponens,[status(thm)],[111, 110])).
% 0.18/0.44  tff(113,plain,
% 0.18/0.44      (product1(e_2, e_3, e_2) | product1(e_2, e_3, e_3) | product1(e_2, e_3, e_1)),
% 0.18/0.44      inference(unit_resolution,[status(thm)],[112, 106, 103, 100])).
% 0.18/0.44  tff(114,plain,
% 0.18/0.44      (product1(e_2, e_3, e_2) | product1(e_2, e_3, e_1)),
% 0.18/0.44      inference(unit_resolution,[status(thm)],[113, 90])).
% 0.18/0.44  tff(115,plain,
% 0.18/0.44      (product1(e_2, e_3, e_1)),
% 0.18/0.44      inference(unit_resolution,[status(thm)],[114, 74])).
% 0.18/0.44  tff(116,assumption,(product1(e_2, e_3, e_1)), introduced(assumption)).
% 0.18/0.44  tff(117,assumption,(~product1(e_1, e_3, e_3)), introduced(assumption)).
% 0.18/0.44  tff(118,plain,
% 0.18/0.44      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | ((~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1)))),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(119,plain,
% 0.18/0.44      ((product2(e_2, e_2, e_3) | (~product1(e_1, e_3, e_2)) | (~product1(e_2, e_3, e_1))) <=> ((~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1)))),
% 0.18/0.44      inference(rewrite,[status(thm)],[])).
% 0.18/0.44  tff(120,plain,
% 0.18/0.44      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_1, e_3, e_2)) | (~product1(e_2, e_3, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | ((~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1))))),
% 0.18/0.44      inference(monotonicity,[status(thm)],[119])).
% 0.18/0.44  tff(121,plain,
% 0.18/0.44      (((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_1, e_3, e_2)) | (~product1(e_2, e_3, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1)))),
% 0.18/0.45      inference(transitivity,[status(thm)],[120, 118])).
% 0.18/0.45  tff(122,plain,
% 0.18/0.45      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_2, e_2, e_3) | (~product1(e_1, e_3, e_2)) | (~product1(e_2, e_3, e_1)))),
% 0.18/0.45      inference(quant_inst,[status(thm)],[])).
% 0.18/0.45  tff(123,plain,
% 0.18/0.45      ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[122, 121])).
% 0.18/0.45  tff(124,plain,
% 0.18/0.45      ((~product1(e_1, e_3, e_2)) | product2(e_2, e_2, e_3) | (~product1(e_2, e_3, e_1))),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[123, 66])).
% 0.18/0.45  tff(125,plain,
% 0.18/0.45      ((~product1(e_1, e_3, e_2)) | (~product1(e_2, e_3, e_1))),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[124, 55])).
% 0.18/0.45  tff(126,plain,
% 0.18/0.45      (~product1(e_1, e_3, e_2)),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[125, 116])).
% 0.18/0.45  tff(127,plain,
% 0.18/0.45      (group_element(e_1) <=> group_element(e_1)),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(128,axiom,(group_element(e_1)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','element_1')).
% 0.18/0.45  tff(129,plain,
% 0.18/0.45      (group_element(e_1)),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[128, 127])).
% 0.18/0.45  tff(130,plain,
% 0.18/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_1, e_3, e_3) | product1(e_1, e_3, e_2) | product1(e_1, e_3, e_1) | (~group_element(e_3)) | (~group_element(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)))) | product1(e_1, e_3, e_3) | product1(e_1, e_3, e_2) | product1(e_1, e_3, e_1) | (~group_element(e_3)) | (~group_element(e_1)))),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(131,plain,
% 0.18/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_1, e_3, e_3) | product1(e_1, e_3, e_2) | product1(e_1, e_3, e_1) | (~group_element(e_3)) | (~group_element(e_1)))),
% 0.18/0.45      inference(quant_inst,[status(thm)],[])).
% 0.18/0.45  tff(132,plain,
% 0.18/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_1, e_3, e_3) | product1(e_1, e_3, e_2) | product1(e_1, e_3, e_1) | (~group_element(e_3)) | (~group_element(e_1))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[131, 130])).
% 0.18/0.45  tff(133,plain,
% 0.18/0.45      (product1(e_1, e_3, e_3) | product1(e_1, e_3, e_2) | product1(e_1, e_3, e_1)),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[132, 129, 103, 100])).
% 0.18/0.45  tff(134,plain,
% 0.18/0.45      (product1(e_1, e_3, e_1)),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[133, 126, 117])).
% 0.18/0.45  tff(135,plain,
% 0.18/0.45      (^[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.18/0.45      inference(bind,[status(th)],[])).
% 0.18/0.45  tff(136,plain,
% 0.18/0.45      (![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.18/0.45      inference(quant_intro,[status(thm)],[135])).
% 0.18/0.45  tff(137,plain,
% 0.18/0.45      (![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.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(138,plain,
% 0.18/0.45      (^[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.18/0.45      inference(bind,[status(th)],[])).
% 0.18/0.45  tff(139,plain,
% 0.18/0.45      (![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.18/0.45      inference(quant_intro,[status(thm)],[138])).
% 0.18/0.45  tff(140,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.18/0.45  tff(141,plain,
% 0.18/0.45      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[140, 139])).
% 0.18/0.45  tff(142,plain,
% 0.18/0.45      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[141, 137])).
% 0.18/0.45  tff(143,plain,(
% 0.18/0.45      ![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.18/0.45      inference(skolemize,[status(sab)],[142])).
% 0.18/0.45  tff(144,plain,
% 0.18/0.45      (![W: $i, Z: $i, Y: $i, X: $i] : (equalish(W, Z) | (~product1(Z, Y, X)) | (~product1(W, Y, X)))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[143, 136])).
% 0.18/0.45  tff(145,plain,
% 0.18/0.45      ((~equalish(e_2, e_1)) <=> (~equalish(e_2, e_1))),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(146,axiom,(~equalish(e_2, e_1)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','e_2_is_not_e_1')).
% 0.18/0.45  tff(147,plain,
% 0.18/0.45      (~equalish(e_2, e_1)),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[146, 145])).
% 0.18/0.45  tff(148,plain,
% 0.18/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_3, e_1)) | (~product1(e_1, e_3, 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_3, e_1)) | (~product1(e_1, e_3, e_1)))),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(149,plain,
% 0.18/0.45      ((equalish(e_2, e_1) | (~product1(e_1, e_3, e_1)) | (~product1(e_2, e_3, e_1))) <=> (equalish(e_2, e_1) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, e_1)))),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(150,plain,
% 0.18/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_3, e_1)) | (~product1(e_2, e_3, 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_3, e_1)) | (~product1(e_1, e_3, e_1))))),
% 0.18/0.45      inference(monotonicity,[status(thm)],[149])).
% 0.18/0.45  tff(151,plain,
% 0.18/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_3, e_1)) | (~product1(e_2, e_3, 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_3, e_1)) | (~product1(e_1, e_3, e_1)))),
% 0.18/0.45      inference(transitivity,[status(thm)],[150, 148])).
% 0.18/0.45  tff(152,plain,
% 0.18/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_3, e_1)) | (~product1(e_2, e_3, e_1)))),
% 0.18/0.45      inference(quant_inst,[status(thm)],[])).
% 0.18/0.45  tff(153,plain,
% 0.18/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_3, e_1)) | (~product1(e_1, e_3, e_1))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[152, 151])).
% 0.18/0.45  tff(154,plain,
% 0.18/0.45      ($false),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[153, 147, 144, 134, 116])).
% 0.18/0.45  tff(155,plain,((~product1(e_2, e_3, e_1)) | product1(e_1, e_3, e_3)), inference(lemma,lemma(discharge,[]))).
% 0.18/0.45  tff(156,plain,
% 0.18/0.45      (product1(e_1, e_3, e_3)),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[155, 115])).
% 0.18/0.45  tff(157,plain,
% 0.18/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_2, e_3) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, 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_2, e_3) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, e_3)))),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(158,plain,
% 0.18/0.45      ((product2(e_3, e_2, e_3) | (~product1(e_1, e_3, e_3)) | (~product1(e_2, e_3, e_1))) <=> (product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, e_3)))),
% 0.18/0.45      inference(rewrite,[status(thm)],[])).
% 0.18/0.45  tff(159,plain,
% 0.18/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_2, e_3) | (~product1(e_1, e_3, e_3)) | (~product1(e_2, e_3, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | (product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, e_3))))),
% 0.18/0.45      inference(monotonicity,[status(thm)],[158])).
% 0.18/0.45  tff(160,plain,
% 0.18/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_2, e_3) | (~product1(e_1, e_3, e_3)) | (~product1(e_2, e_3, e_1)))) <=> ((~![Y: $i, Z1: $i, X: $i, Z2: $i] : (product2(Z2, X, Y) | (~product1(Z1, Y, Z2)) | (~product1(X, Y, Z1)))) | product2(e_3, e_2, e_3) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, e_3)))),
% 0.18/0.45      inference(transitivity,[status(thm)],[159, 157])).
% 0.18/0.45  tff(161,plain,
% 0.18/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_2, e_3) | (~product1(e_1, e_3, e_3)) | (~product1(e_2, e_3, e_1)))),
% 0.18/0.45      inference(quant_inst,[status(thm)],[])).
% 0.18/0.45  tff(162,plain,
% 0.18/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_2, e_3) | (~product1(e_2, e_3, e_1)) | (~product1(e_1, e_3, e_3))),
% 0.18/0.45      inference(modus_ponens,[status(thm)],[161, 160])).
% 0.18/0.45  tff(163,plain,
% 0.18/0.45      ($false),
% 0.18/0.45      inference(unit_resolution,[status(thm)],[162, 66, 156, 115, 31])).
% 0.18/0.45  % SZS output end Proof
%------------------------------------------------------------------------------