TSTP Solution File: CAT003-1 by Z3---4.8.9.0

View Problem - Process Solution

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

% Computer : n014.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 : Tue Sep  6 17:29:37 EDT 2022

% Result   : Unsatisfiable 0.64s 0.66s
% Output   : Proof 0.74s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.12  % Problem  : CAT003-1 : TPTP v8.1.0. Released v1.0.0.
% 0.12/0.13  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.13/0.35  % Computer : n014.cluster.edu
% 0.13/0.35  % Model    : x86_64 x86_64
% 0.13/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35  % Memory   : 8042.1875MB
% 0.13/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35  % CPULimit : 300
% 0.13/0.35  % WCLimit  : 300
% 0.13/0.35  % DateTime : Tue Aug 30 05:53:18 EDT 2022
% 0.13/0.35  % CPUTime  : 
% 0.13/0.35  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.13/0.35  Usage: tptp [options] [-file:]file
% 0.13/0.35    -h, -?       prints this message.
% 0.13/0.35    -smt2        print SMT-LIB2 benchmark.
% 0.13/0.35    -m, -model   generate model.
% 0.13/0.35    -p, -proof   generate proof.
% 0.13/0.35    -c, -core    generate unsat core of named formulas.
% 0.13/0.35    -st, -statistics display statistics.
% 0.13/0.35    -t:timeout   set timeout (in second).
% 0.13/0.35    -smt2status  display status in smt2 format instead of SZS.
% 0.13/0.35    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.13/0.35    -<param>:<value> configuration parameter and value.
% 0.13/0.35    -o:<output-file> file to place output in.
% 0.64/0.66  % SZS status Unsatisfiable
% 0.64/0.66  % SZS output start Proof
% 0.64/0.66  tff(product_type, type, (
% 0.64/0.66     product: ( $i * $i * $i ) > $o)).
% 0.64/0.66  tff(compose_type, type, (
% 0.64/0.66     compose: ( $i * $i ) > $i)).
% 0.64/0.66  tff(b_type, type, (
% 0.64/0.66     b: $i)).
% 0.64/0.66  tff(a_type, type, (
% 0.64/0.66     a: $i)).
% 0.64/0.66  tff(h_type, type, (
% 0.64/0.66     h: $i)).
% 0.64/0.66  tff(c_type, type, (
% 0.64/0.66     c: $i)).
% 0.64/0.66  tff(domain_type, type, (
% 0.64/0.66     domain: $i > $i)).
% 0.64/0.66  tff(defined_type, type, (
% 0.64/0.66     defined: ( $i * $i ) > $o)).
% 0.64/0.66  tff(d_type, type, (
% 0.64/0.66     d: $i)).
% 0.64/0.66  tff(g_type, type, (
% 0.64/0.66     g: $i)).
% 0.64/0.66  tff(codomain_type, type, (
% 0.64/0.66     codomain: $i > $i)).
% 0.64/0.66  tff(identity_map_type, type, (
% 0.64/0.66     identity_map: $i > $o)).
% 0.64/0.66  tff(1,plain,
% 0.64/0.66      (product(a, b, c) <=> product(a, b, c)),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(2,axiom,(product(a, b, c)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','ab_equals_c')).
% 0.64/0.66  tff(3,plain,
% 0.64/0.66      (product(a, b, c)),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[2, 1])).
% 0.64/0.66  tff(4,plain,
% 0.64/0.66      (^[Z: $i, Y: $i, X: $i] : refl(((~product(X, Y, Z)) | defined(X, Y)) <=> ((~product(X, Y, Z)) | defined(X, Y)))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(5,plain,
% 0.64/0.66      (![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y)) <=> ![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))),
% 0.64/0.66      inference(quant_intro,[status(thm)],[4])).
% 0.64/0.66  tff(6,plain,
% 0.64/0.66      (![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y)) <=> ![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(7,axiom,(![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','associative_property1')).
% 0.64/0.66  tff(8,plain,
% 0.64/0.66      (![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[7, 6])).
% 0.64/0.66  tff(9,plain,(
% 0.64/0.66      ![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))),
% 0.64/0.66      inference(skolemize,[status(sab)],[8])).
% 0.64/0.66  tff(10,plain,
% 0.64/0.66      (![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[9, 5])).
% 0.64/0.66  tff(11,plain,
% 0.64/0.66      (((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | ((~product(a, b, c)) | defined(a, b))) <=> ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | (~product(a, b, c)) | defined(a, b))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(12,plain,
% 0.64/0.66      ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | ((~product(a, b, c)) | defined(a, b))),
% 0.64/0.66      inference(quant_inst,[status(thm)],[])).
% 0.64/0.66  tff(13,plain,
% 0.64/0.66      ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | (~product(a, b, c)) | defined(a, b)),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[12, 11])).
% 0.64/0.66  tff(14,plain,
% 0.64/0.66      (defined(a, b)),
% 0.64/0.66      inference(unit_resolution,[status(thm)],[13, 10, 3])).
% 0.64/0.66  tff(15,plain,
% 0.64/0.66      (^[Y: $i, X: $i] : refl(((~defined(X, Y)) | product(X, Y, compose(X, Y))) <=> ((~defined(X, Y)) | product(X, Y, compose(X, Y))))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(16,plain,
% 0.64/0.66      (![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y))) <=> ![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))),
% 0.64/0.66      inference(quant_intro,[status(thm)],[15])).
% 0.64/0.66  tff(17,plain,
% 0.64/0.66      (![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y))) <=> ![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(18,axiom,(![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','closure_of_composition')).
% 0.64/0.66  tff(19,plain,
% 0.64/0.66      (![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[18, 17])).
% 0.64/0.66  tff(20,plain,(
% 0.64/0.66      ![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))),
% 0.64/0.66      inference(skolemize,[status(sab)],[19])).
% 0.64/0.66  tff(21,plain,
% 0.64/0.66      (![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[20, 16])).
% 0.64/0.66  tff(22,plain,
% 0.64/0.66      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(a, b)) | product(a, b, compose(a, b)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(a, b)) | product(a, b, compose(a, b)))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(23,plain,
% 0.64/0.66      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(a, b)) | product(a, b, compose(a, b)))),
% 0.64/0.66      inference(quant_inst,[status(thm)],[])).
% 0.64/0.66  tff(24,plain,
% 0.64/0.66      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(a, b)) | product(a, b, compose(a, b))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[23, 22])).
% 0.64/0.66  tff(25,plain,
% 0.64/0.66      (product(a, b, compose(a, b))),
% 0.64/0.66      inference(unit_resolution,[status(thm)],[24, 21, 14])).
% 0.64/0.66  tff(26,plain,
% 0.64/0.66      (^[W: $i, Z: $i, Y: $i, X: $i] : refl(((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W)) <=> ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W)))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(27,plain,
% 0.64/0.66      (![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(quant_intro,[status(thm)],[26])).
% 0.64/0.66  tff(28,plain,
% 0.64/0.66      (![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(29,plain,
% 0.64/0.66      (^[W: $i, Z: $i, Y: $i, X: $i] : rewrite((((~product(X, Y, Z)) | (~product(X, Y, W))) | (Z = W)) <=> ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W)))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(30,plain,
% 0.64/0.66      (![W: $i, Z: $i, Y: $i, X: $i] : (((~product(X, Y, Z)) | (~product(X, Y, W))) | (Z = W)) <=> ![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(quant_intro,[status(thm)],[29])).
% 0.64/0.66  tff(31,axiom,(![W: $i, Z: $i, Y: $i, X: $i] : (((~product(X, Y, Z)) | (~product(X, Y, W))) | (Z = W))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','composition_is_well_defined')).
% 0.64/0.66  tff(32,plain,
% 0.64/0.66      (![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[31, 30])).
% 0.64/0.66  tff(33,plain,
% 0.64/0.66      (![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[32, 28])).
% 0.64/0.66  tff(34,plain,(
% 0.64/0.66      ![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(skolemize,[status(sab)],[33])).
% 0.64/0.66  tff(35,plain,
% 0.64/0.66      (![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[34, 27])).
% 0.64/0.66  tff(36,plain,
% 0.64/0.66      (((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(a, b, c)) | (~product(a, b, compose(a, b))) | (c = compose(a, b)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(a, b, c)) | (~product(a, b, compose(a, b))) | (c = compose(a, b)))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(37,plain,
% 0.64/0.66      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(a, b, c)) | (~product(a, b, compose(a, b))) | (c = compose(a, b)))),
% 0.64/0.66      inference(quant_inst,[status(thm)],[])).
% 0.64/0.66  tff(38,plain,
% 0.64/0.66      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(a, b, c)) | (~product(a, b, compose(a, b))) | (c = compose(a, b))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[37, 36])).
% 0.64/0.66  tff(39,plain,
% 0.64/0.66      (c = compose(a, b)),
% 0.64/0.66      inference(unit_resolution,[status(thm)],[38, 35, 3, 25])).
% 0.64/0.66  tff(40,plain,
% 0.64/0.66      (product(compose(h, domain(h)), c, compose(compose(h, a), b)) <=> product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b))),
% 0.64/0.66      inference(monotonicity,[status(thm)],[39])).
% 0.64/0.66  tff(41,plain,
% 0.64/0.66      (product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)) <=> product(compose(h, domain(h)), c, compose(compose(h, a), b))),
% 0.64/0.66      inference(symmetry,[status(thm)],[40])).
% 0.64/0.66  tff(42,plain,
% 0.64/0.66      (^[X: $i] : refl(product(codomain(X), X, X) <=> product(codomain(X), X, X))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(43,plain,
% 0.64/0.66      (![X: $i] : product(codomain(X), X, X) <=> ![X: $i] : product(codomain(X), X, X)),
% 0.64/0.66      inference(quant_intro,[status(thm)],[42])).
% 0.64/0.66  tff(44,plain,
% 0.64/0.66      (![X: $i] : product(codomain(X), X, X) <=> ![X: $i] : product(codomain(X), X, X)),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(45,axiom,(![X: $i] : product(codomain(X), X, X)), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','product_on_codomain')).
% 0.64/0.66  tff(46,plain,
% 0.64/0.66      (![X: $i] : product(codomain(X), X, X)),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[45, 44])).
% 0.64/0.66  tff(47,plain,(
% 0.64/0.66      ![X: $i] : product(codomain(X), X, X)),
% 0.64/0.66      inference(skolemize,[status(sab)],[46])).
% 0.64/0.66  tff(48,plain,
% 0.64/0.66      (![X: $i] : product(codomain(X), X, X)),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[47, 43])).
% 0.64/0.66  tff(49,plain,
% 0.64/0.66      ((~![X: $i] : product(codomain(X), X, X)) | product(codomain(a), a, a)),
% 0.64/0.66      inference(quant_inst,[status(thm)],[])).
% 0.64/0.66  tff(50,plain,
% 0.64/0.66      (product(codomain(a), a, a)),
% 0.64/0.66      inference(unit_resolution,[status(thm)],[49, 48])).
% 0.64/0.66  tff(51,plain,
% 0.64/0.66      (^[Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : refl((defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(52,plain,
% 0.64/0.66      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(quant_intro,[status(thm)],[51])).
% 0.64/0.66  tff(53,plain,
% 0.64/0.66      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(rewrite,[status(thm)],[])).
% 0.64/0.66  tff(54,plain,
% 0.64/0.66      (^[Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : trans(monotonicity(rewrite((((~product(X, Y, Xy)) | (~product(Y, Z, Yz))) | (~defined(Xy, Z))) <=> ((~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))), (((((~product(X, Y, Xy)) | (~product(Y, Z, Yz))) | (~defined(Xy, Z))) | defined(X, Yz)) <=> (((~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | defined(X, Yz)))), rewrite((((~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | defined(X, Yz)) <=> (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))), (((((~product(X, Y, Xy)) | (~product(Y, Z, Yz))) | (~defined(Xy, Z))) | defined(X, Yz)) <=> (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))))),
% 0.64/0.66      inference(bind,[status(th)],[])).
% 0.64/0.66  tff(55,plain,
% 0.64/0.66      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((((~product(X, Y, Xy)) | (~product(Y, Z, Yz))) | (~defined(Xy, Z))) | defined(X, Yz)) <=> ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(quant_intro,[status(thm)],[54])).
% 0.64/0.66  tff(56,axiom,(![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((((~product(X, Y, Xy)) | (~product(Y, Z, Yz))) | (~defined(Xy, Z))) | defined(X, Yz))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','category_theory_axiom1')).
% 0.64/0.66  tff(57,plain,
% 0.64/0.66      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[56, 55])).
% 0.64/0.66  tff(58,plain,
% 0.64/0.66      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[57, 53])).
% 0.64/0.66  tff(59,plain,(
% 0.64/0.66      ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(skolemize,[status(sab)],[58])).
% 0.64/0.66  tff(60,plain,
% 0.64/0.66      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.66      inference(modus_ponens,[status(thm)],[59, 52])).
% 0.64/0.67  tff(61,plain,
% 0.64/0.67      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)) | defined(codomain(a), compose(a, b)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)) | defined(codomain(a), compose(a, b)))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(62,plain,
% 0.64/0.67      ((defined(codomain(a), compose(a, b)) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a))) <=> ((~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)) | defined(codomain(a), compose(a, b)))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(63,plain,
% 0.64/0.67      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(codomain(a), compose(a, b)) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)) | defined(codomain(a), compose(a, b))))),
% 0.64/0.67      inference(monotonicity,[status(thm)],[62])).
% 0.64/0.67  tff(64,plain,
% 0.64/0.67      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(codomain(a), compose(a, b)) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)) | defined(codomain(a), compose(a, b)))),
% 0.64/0.67      inference(transitivity,[status(thm)],[63, 61])).
% 0.64/0.67  tff(65,plain,
% 0.64/0.67      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(codomain(a), compose(a, b)) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)))),
% 0.64/0.67      inference(quant_inst,[status(thm)],[])).
% 0.64/0.67  tff(66,plain,
% 0.64/0.67      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(a, b)) | (~product(a, b, compose(a, b))) | (~product(codomain(a), a, a)) | defined(codomain(a), compose(a, b))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[65, 64])).
% 0.64/0.67  tff(67,plain,
% 0.64/0.67      (defined(codomain(a), compose(a, b))),
% 0.64/0.67      inference(unit_resolution,[status(thm)],[66, 60, 14, 25, 50])).
% 0.64/0.67  tff(68,plain,
% 0.64/0.67      ((~![X: $i] : product(codomain(X), X, X)) | product(codomain(compose(a, b)), compose(a, b), compose(a, b))),
% 0.64/0.67      inference(quant_inst,[status(thm)],[])).
% 0.64/0.67  tff(69,plain,
% 0.64/0.67      (product(codomain(compose(a, b)), compose(a, b), compose(a, b))),
% 0.64/0.67      inference(unit_resolution,[status(thm)],[68, 48])).
% 0.64/0.67  tff(70,plain,
% 0.64/0.67      (^[Z: $i, Y: $i, X: $i, Yz: $i] : refl(((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz))) <=> ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz))))),
% 0.64/0.67      inference(bind,[status(th)],[])).
% 0.64/0.67  tff(71,plain,
% 0.64/0.67      (![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz))) <=> ![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(quant_intro,[status(thm)],[70])).
% 0.64/0.67  tff(72,plain,
% 0.64/0.67      (![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz))) <=> ![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(73,plain,
% 0.64/0.67      (^[Z: $i, Y: $i, X: $i, Yz: $i] : trans(monotonicity(rewrite(((~product(Y, Z, Yz)) | (~defined(X, Yz))) <=> ((~defined(X, Yz)) | (~product(Y, Z, Yz)))), ((((~product(Y, Z, Yz)) | (~defined(X, Yz))) | defined(X, Y)) <=> (((~defined(X, Yz)) | (~product(Y, Z, Yz))) | defined(X, Y)))), rewrite((((~defined(X, Yz)) | (~product(Y, Z, Yz))) | defined(X, Y)) <=> ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))), ((((~product(Y, Z, Yz)) | (~defined(X, Yz))) | defined(X, Y)) <=> ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))))),
% 0.64/0.67      inference(bind,[status(th)],[])).
% 0.64/0.67  tff(74,plain,
% 0.64/0.67      (![Z: $i, Y: $i, X: $i, Yz: $i] : (((~product(Y, Z, Yz)) | (~defined(X, Yz))) | defined(X, Y)) <=> ![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(quant_intro,[status(thm)],[73])).
% 0.64/0.67  tff(75,axiom,(![Z: $i, Y: $i, X: $i, Yz: $i] : (((~product(Y, Z, Yz)) | (~defined(X, Yz))) | defined(X, Y))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','category_theory_axiom3')).
% 0.64/0.67  tff(76,plain,
% 0.64/0.67      (![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[75, 74])).
% 0.64/0.67  tff(77,plain,
% 0.64/0.67      (![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[76, 72])).
% 0.64/0.67  tff(78,plain,(
% 0.64/0.67      ![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(skolemize,[status(sab)],[77])).
% 0.64/0.67  tff(79,plain,
% 0.64/0.67      (![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[78, 71])).
% 0.64/0.67  tff(80,plain,
% 0.64/0.67      (((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | (defined(codomain(a), codomain(compose(a, b))) | (~defined(codomain(a), compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))) <=> ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | defined(codomain(a), codomain(compose(a, b))) | (~defined(codomain(a), compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(81,plain,
% 0.64/0.67      (((~defined(codomain(a), compose(a, b))) | defined(codomain(a), codomain(compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b)))) <=> (defined(codomain(a), codomain(compose(a, b))) | (~defined(codomain(a), compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(82,plain,
% 0.64/0.67      (((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(codomain(a), compose(a, b))) | defined(codomain(a), codomain(compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))) <=> ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | (defined(codomain(a), codomain(compose(a, b))) | (~defined(codomain(a), compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b)))))),
% 0.64/0.67      inference(monotonicity,[status(thm)],[81])).
% 0.64/0.67  tff(83,plain,
% 0.64/0.67      (((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(codomain(a), compose(a, b))) | defined(codomain(a), codomain(compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))) <=> ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | defined(codomain(a), codomain(compose(a, b))) | (~defined(codomain(a), compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))),
% 0.64/0.67      inference(transitivity,[status(thm)],[82, 80])).
% 0.64/0.67  tff(84,plain,
% 0.64/0.67      ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(codomain(a), compose(a, b))) | defined(codomain(a), codomain(compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b))))),
% 0.64/0.67      inference(quant_inst,[status(thm)],[])).
% 0.64/0.67  tff(85,plain,
% 0.64/0.67      ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | defined(codomain(a), codomain(compose(a, b))) | (~defined(codomain(a), compose(a, b))) | (~product(codomain(compose(a, b)), compose(a, b), compose(a, b)))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[84, 83])).
% 0.64/0.67  tff(86,plain,
% 0.64/0.67      (defined(codomain(a), codomain(compose(a, b)))),
% 0.64/0.67      inference(unit_resolution,[status(thm)],[85, 79, 69, 67])).
% 0.64/0.67  tff(87,plain,
% 0.64/0.67      (^[X: $i] : refl(identity_map(codomain(X)) <=> identity_map(codomain(X)))),
% 0.64/0.67      inference(bind,[status(th)],[])).
% 0.64/0.67  tff(88,plain,
% 0.64/0.67      (![X: $i] : identity_map(codomain(X)) <=> ![X: $i] : identity_map(codomain(X))),
% 0.64/0.67      inference(quant_intro,[status(thm)],[87])).
% 0.64/0.67  tff(89,plain,
% 0.64/0.67      (![X: $i] : identity_map(codomain(X)) <=> ![X: $i] : identity_map(codomain(X))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(90,axiom,(![X: $i] : identity_map(codomain(X))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','codomain_is_an_identity_map')).
% 0.64/0.67  tff(91,plain,
% 0.64/0.67      (![X: $i] : identity_map(codomain(X))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[90, 89])).
% 0.64/0.67  tff(92,plain,(
% 0.64/0.67      ![X: $i] : identity_map(codomain(X))),
% 0.64/0.67      inference(skolemize,[status(sab)],[91])).
% 0.64/0.67  tff(93,plain,
% 0.64/0.67      (![X: $i] : identity_map(codomain(X))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[92, 88])).
% 0.64/0.67  tff(94,plain,
% 0.64/0.67      ((~![X: $i] : identity_map(codomain(X))) | identity_map(codomain(compose(a, b)))),
% 0.64/0.67      inference(quant_inst,[status(thm)],[])).
% 0.64/0.67  tff(95,plain,
% 0.64/0.67      (identity_map(codomain(compose(a, b)))),
% 0.64/0.67      inference(unit_resolution,[status(thm)],[94, 93])).
% 0.64/0.67  tff(96,plain,
% 0.64/0.67      (^[Y: $i, X: $i] : refl(((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X)) <=> ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X)))),
% 0.64/0.67      inference(bind,[status(th)],[])).
% 0.64/0.67  tff(97,plain,
% 0.64/0.67      (![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X)) <=> ![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(quant_intro,[status(thm)],[96])).
% 0.64/0.67  tff(98,plain,
% 0.64/0.67      (![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X)) <=> ![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(rewrite,[status(thm)],[])).
% 0.64/0.67  tff(99,plain,
% 0.64/0.67      (^[Y: $i, X: $i] : trans(monotonicity(rewrite(((~defined(X, Y)) | (~identity_map(Y))) <=> ((~defined(X, Y)) | (~identity_map(Y)))), ((((~defined(X, Y)) | (~identity_map(Y))) | product(X, Y, X)) <=> (((~defined(X, Y)) | (~identity_map(Y))) | product(X, Y, X)))), rewrite((((~defined(X, Y)) | (~identity_map(Y))) | product(X, Y, X)) <=> ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))), ((((~defined(X, Y)) | (~identity_map(Y))) | product(X, Y, X)) <=> ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))))),
% 0.64/0.67      inference(bind,[status(th)],[])).
% 0.64/0.67  tff(100,plain,
% 0.64/0.67      (![Y: $i, X: $i] : (((~defined(X, Y)) | (~identity_map(Y))) | product(X, Y, X)) <=> ![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(quant_intro,[status(thm)],[99])).
% 0.64/0.67  tff(101,axiom,(![Y: $i, X: $i] : (((~defined(X, Y)) | (~identity_map(Y))) | product(X, Y, X))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','identity2')).
% 0.64/0.67  tff(102,plain,
% 0.64/0.67      (![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[101, 100])).
% 0.64/0.67  tff(103,plain,
% 0.64/0.67      (![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[102, 98])).
% 0.64/0.67  tff(104,plain,(
% 0.64/0.67      ![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(skolemize,[status(sab)],[103])).
% 0.64/0.67  tff(105,plain,
% 0.64/0.67      (![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))),
% 0.64/0.67      inference(modus_ponens,[status(thm)],[104, 97])).
% 0.64/0.67  tff(106,plain,
% 0.64/0.67      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~identity_map(codomain(compose(a, b)))) | (~defined(codomain(a), codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(a), codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(107,plain,
% 0.64/0.68      (((~defined(codomain(a), codomain(compose(a, b)))) | (~identity_map(codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a))) <=> ((~identity_map(codomain(compose(a, b)))) | (~defined(codomain(a), codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(108,plain,
% 0.64/0.68      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~defined(codomain(a), codomain(compose(a, b)))) | (~identity_map(codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~identity_map(codomain(compose(a, b)))) | (~defined(codomain(a), codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a))))),
% 0.64/0.68      inference(monotonicity,[status(thm)],[107])).
% 0.64/0.68  tff(109,plain,
% 0.64/0.68      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~defined(codomain(a), codomain(compose(a, b)))) | (~identity_map(codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(a), codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))),
% 0.64/0.68      inference(transitivity,[status(thm)],[108, 106])).
% 0.64/0.68  tff(110,plain,
% 0.64/0.68      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~defined(codomain(a), codomain(compose(a, b)))) | (~identity_map(codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a)))),
% 0.64/0.68      inference(quant_inst,[status(thm)],[])).
% 0.64/0.68  tff(111,plain,
% 0.64/0.68      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(a), codomain(compose(a, b)))) | product(codomain(a), codomain(compose(a, b)), codomain(a))),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[110, 109])).
% 0.64/0.68  tff(112,plain,
% 0.64/0.68      (product(codomain(a), codomain(compose(a, b)), codomain(a))),
% 0.64/0.68      inference(unit_resolution,[status(thm)],[111, 105, 95, 86])).
% 0.64/0.68  tff(113,plain,
% 0.64/0.68      (product(g, a, d) <=> product(g, a, d)),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(114,axiom,(product(g, a, d)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','ga_equals_d')).
% 0.64/0.68  tff(115,plain,
% 0.64/0.68      (product(g, a, d)),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[114, 113])).
% 0.64/0.68  tff(116,plain,
% 0.64/0.68      (((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | ((~product(g, a, d)) | defined(g, a))) <=> ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | (~product(g, a, d)) | defined(g, a))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(117,plain,
% 0.64/0.68      ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | ((~product(g, a, d)) | defined(g, a))),
% 0.64/0.68      inference(quant_inst,[status(thm)],[])).
% 0.64/0.68  tff(118,plain,
% 0.64/0.68      ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | (~product(g, a, d)) | defined(g, a)),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[117, 116])).
% 0.64/0.68  tff(119,plain,
% 0.64/0.68      (defined(g, a)),
% 0.64/0.68      inference(unit_resolution,[status(thm)],[118, 10, 115])).
% 0.64/0.68  tff(120,plain,
% 0.64/0.68      (((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(g, a)) | (~product(codomain(a), a, a)) | defined(g, codomain(a)))) <=> ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | (~defined(g, a)) | (~product(codomain(a), a, a)) | defined(g, codomain(a)))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(121,plain,
% 0.64/0.68      (((~defined(g, a)) | defined(g, codomain(a)) | (~product(codomain(a), a, a))) <=> ((~defined(g, a)) | (~product(codomain(a), a, a)) | defined(g, codomain(a)))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(122,plain,
% 0.64/0.68      (((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(g, a)) | defined(g, codomain(a)) | (~product(codomain(a), a, a)))) <=> ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(g, a)) | (~product(codomain(a), a, a)) | defined(g, codomain(a))))),
% 0.64/0.68      inference(monotonicity,[status(thm)],[121])).
% 0.64/0.68  tff(123,plain,
% 0.64/0.68      (((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(g, a)) | defined(g, codomain(a)) | (~product(codomain(a), a, a)))) <=> ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | (~defined(g, a)) | (~product(codomain(a), a, a)) | defined(g, codomain(a)))),
% 0.64/0.68      inference(transitivity,[status(thm)],[122, 120])).
% 0.64/0.68  tff(124,plain,
% 0.64/0.68      ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | ((~defined(g, a)) | defined(g, codomain(a)) | (~product(codomain(a), a, a)))),
% 0.64/0.68      inference(quant_inst,[status(thm)],[])).
% 0.64/0.68  tff(125,plain,
% 0.64/0.68      ((~![Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(X, Y) | (~product(Y, Z, Yz)))) | (~defined(g, a)) | (~product(codomain(a), a, a)) | defined(g, codomain(a))),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[124, 123])).
% 0.64/0.68  tff(126,plain,
% 0.64/0.68      (defined(g, codomain(a))),
% 0.64/0.68      inference(unit_resolution,[status(thm)],[125, 79, 119, 50])).
% 0.64/0.68  tff(127,plain,
% 0.64/0.68      ((~![X: $i] : identity_map(codomain(X))) | identity_map(codomain(a))),
% 0.64/0.68      inference(quant_inst,[status(thm)],[])).
% 0.64/0.68  tff(128,plain,
% 0.64/0.68      (identity_map(codomain(a))),
% 0.64/0.68      inference(unit_resolution,[status(thm)],[127, 93])).
% 0.64/0.68  tff(129,plain,
% 0.64/0.68      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~identity_map(codomain(a))) | (~defined(g, codomain(a))) | product(g, codomain(a), g))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | (~identity_map(codomain(a))) | (~defined(g, codomain(a))) | product(g, codomain(a), g))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(130,plain,
% 0.64/0.68      (((~defined(g, codomain(a))) | (~identity_map(codomain(a))) | product(g, codomain(a), g)) <=> ((~identity_map(codomain(a))) | (~defined(g, codomain(a))) | product(g, codomain(a), g))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(131,plain,
% 0.64/0.68      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~defined(g, codomain(a))) | (~identity_map(codomain(a))) | product(g, codomain(a), g))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~identity_map(codomain(a))) | (~defined(g, codomain(a))) | product(g, codomain(a), g)))),
% 0.64/0.68      inference(monotonicity,[status(thm)],[130])).
% 0.64/0.68  tff(132,plain,
% 0.64/0.68      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~defined(g, codomain(a))) | (~identity_map(codomain(a))) | product(g, codomain(a), g))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | (~identity_map(codomain(a))) | (~defined(g, codomain(a))) | product(g, codomain(a), g))),
% 0.64/0.68      inference(transitivity,[status(thm)],[131, 129])).
% 0.64/0.68  tff(133,plain,
% 0.64/0.68      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | ((~defined(g, codomain(a))) | (~identity_map(codomain(a))) | product(g, codomain(a), g))),
% 0.64/0.68      inference(quant_inst,[status(thm)],[])).
% 0.64/0.68  tff(134,plain,
% 0.64/0.68      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | (~identity_map(Y)) | product(X, Y, X))) | (~identity_map(codomain(a))) | (~defined(g, codomain(a))) | product(g, codomain(a), g)),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[133, 132])).
% 0.64/0.68  tff(135,plain,
% 0.64/0.68      (product(g, codomain(a), g)),
% 0.64/0.68      inference(unit_resolution,[status(thm)],[134, 105, 128, 126])).
% 0.64/0.68  tff(136,plain,
% 0.64/0.68      (^[Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : refl(((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))))),
% 0.64/0.68      inference(bind,[status(th)],[])).
% 0.64/0.68  tff(137,plain,
% 0.64/0.68      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(quant_intro,[status(thm)],[136])).
% 0.64/0.68  tff(138,plain,
% 0.64/0.68      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(139,plain,
% 0.64/0.68      (^[Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : trans(monotonicity(trans(monotonicity(rewrite(((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) <=> ((~product(Y, Z, Yz)) | (~product(X, Y, Xy)))), ((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) <=> (((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))))), rewrite((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) <=> ((~defined(X, Yz)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))), ((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) <=> ((~defined(X, Yz)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))))), (((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) | defined(Xy, Z)) <=> (((~defined(X, Yz)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | defined(Xy, Z)))), rewrite((((~defined(X, Yz)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | defined(Xy, Z)) <=> ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))), (((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) | defined(Xy, Z)) <=> ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))))),
% 0.64/0.68      inference(bind,[status(th)],[])).
% 0.64/0.68  tff(140,plain,
% 0.64/0.68      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) | defined(Xy, Z)) <=> ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(quant_intro,[status(thm)],[139])).
% 0.64/0.68  tff(141,axiom,(![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((((~product(Y, Z, Yz)) | (~product(X, Y, Xy))) | (~defined(X, Yz))) | defined(Xy, Z))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','category_theory_axiom4')).
% 0.64/0.68  tff(142,plain,
% 0.64/0.68      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[141, 140])).
% 0.64/0.68  tff(143,plain,
% 0.64/0.68      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[142, 138])).
% 0.64/0.68  tff(144,plain,(
% 0.64/0.68      ![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(skolemize,[status(sab)],[143])).
% 0.64/0.68  tff(145,plain,
% 0.64/0.68      (![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))),
% 0.64/0.68      inference(modus_ponens,[status(thm)],[144, 137])).
% 0.64/0.68  tff(146,plain,
% 0.64/0.68      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, codomain(a))) | (~product(g, codomain(a), g)) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | defined(g, codomain(compose(a, b))))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(g, codomain(a))) | (~product(g, codomain(a), g)) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | defined(g, codomain(compose(a, b))))),
% 0.64/0.68      inference(rewrite,[status(thm)],[])).
% 0.64/0.68  tff(147,plain,
% 0.64/0.68      (((~defined(g, codomain(a))) | defined(g, codomain(compose(a, b))) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | (~product(g, codomain(a), g))) <=> ((~defined(g, codomain(a))) | (~product(g, codomain(a), g)) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | defined(g, codomain(compose(a, b))))),
% 0.64/0.69      inference(rewrite,[status(thm)],[])).
% 0.64/0.69  tff(148,plain,
% 0.64/0.69      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, codomain(a))) | defined(g, codomain(compose(a, b))) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | (~product(g, codomain(a), g)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, codomain(a))) | (~product(g, codomain(a), g)) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | defined(g, codomain(compose(a, b)))))),
% 0.64/0.69      inference(monotonicity,[status(thm)],[147])).
% 0.64/0.69  tff(149,plain,
% 0.64/0.69      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, codomain(a))) | defined(g, codomain(compose(a, b))) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | (~product(g, codomain(a), g)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(g, codomain(a))) | (~product(g, codomain(a), g)) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | defined(g, codomain(compose(a, b))))),
% 0.64/0.69      inference(transitivity,[status(thm)],[148, 146])).
% 0.64/0.69  tff(150,plain,
% 0.64/0.69      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, codomain(a))) | defined(g, codomain(compose(a, b))) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | (~product(g, codomain(a), g)))),
% 0.64/0.69      inference(quant_inst,[status(thm)],[])).
% 0.64/0.69  tff(151,plain,
% 0.64/0.69      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(g, codomain(a))) | (~product(g, codomain(a), g)) | (~product(codomain(a), codomain(compose(a, b)), codomain(a))) | defined(g, codomain(compose(a, b)))),
% 0.64/0.69      inference(modus_ponens,[status(thm)],[150, 149])).
% 0.64/0.69  tff(152,plain,
% 0.64/0.69      (defined(g, codomain(compose(a, b)))),
% 0.64/0.69      inference(unit_resolution,[status(thm)],[151, 145, 126, 135, 112])).
% 0.64/0.69  tff(153,plain,
% 0.64/0.69      (^[X: $i] : refl(defined(codomain(X), X) <=> defined(codomain(X), X))),
% 0.64/0.69      inference(bind,[status(th)],[])).
% 0.64/0.69  tff(154,plain,
% 0.64/0.69      (![X: $i] : defined(codomain(X), X) <=> ![X: $i] : defined(codomain(X), X)),
% 0.64/0.69      inference(quant_intro,[status(thm)],[153])).
% 0.64/0.69  tff(155,plain,
% 0.64/0.69      (![X: $i] : defined(codomain(X), X) <=> ![X: $i] : defined(codomain(X), X)),
% 0.64/0.69      inference(rewrite,[status(thm)],[])).
% 0.64/0.69  tff(156,axiom,(![X: $i] : defined(codomain(X), X)), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','mapping_from_codomain_of_x_to_x')).
% 0.64/0.69  tff(157,plain,
% 0.64/0.69      (![X: $i] : defined(codomain(X), X)),
% 0.64/0.69      inference(modus_ponens,[status(thm)],[156, 155])).
% 0.64/0.69  tff(158,plain,(
% 0.64/0.69      ![X: $i] : defined(codomain(X), X)),
% 0.64/0.69      inference(skolemize,[status(sab)],[157])).
% 0.64/0.69  tff(159,plain,
% 0.64/0.69      (![X: $i] : defined(codomain(X), X)),
% 0.64/0.69      inference(modus_ponens,[status(thm)],[158, 154])).
% 0.64/0.69  tff(160,plain,
% 0.64/0.69      ((~![X: $i] : defined(codomain(X), X)) | defined(codomain(compose(a, b)), compose(a, b))),
% 0.64/0.69      inference(quant_inst,[status(thm)],[])).
% 0.64/0.69  tff(161,plain,
% 0.64/0.69      (defined(codomain(compose(a, b)), compose(a, b))),
% 0.64/0.69      inference(unit_resolution,[status(thm)],[160, 159])).
% 0.64/0.69  tff(162,assumption,(~defined(g, compose(a, b))), introduced(assumption)).
% 0.64/0.69  tff(163,plain,
% 0.64/0.69      (^[Z: $i, Y: $i, X: $i] : refl(((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z))) <=> ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z))))),
% 0.64/0.69      inference(bind,[status(th)],[])).
% 0.64/0.69  tff(164,plain,
% 0.64/0.69      (![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z))) <=> ![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(quant_intro,[status(thm)],[163])).
% 0.64/0.69  tff(165,plain,
% 0.64/0.69      (![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z))) <=> ![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(rewrite,[status(thm)],[])).
% 0.64/0.69  tff(166,plain,
% 0.64/0.69      (^[Z: $i, Y: $i, X: $i] : trans(monotonicity(rewrite((((~defined(X, Y)) | (~defined(Y, Z))) | (~identity_map(Y))) <=> ((~defined(X, Y)) | (~identity_map(Y)) | (~defined(Y, Z)))), (((((~defined(X, Y)) | (~defined(Y, Z))) | (~identity_map(Y))) | defined(X, Z)) <=> (((~defined(X, Y)) | (~identity_map(Y)) | (~defined(Y, Z))) | defined(X, Z)))), rewrite((((~defined(X, Y)) | (~identity_map(Y)) | (~defined(Y, Z))) | defined(X, Z)) <=> ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))), (((((~defined(X, Y)) | (~defined(Y, Z))) | (~identity_map(Y))) | defined(X, Z)) <=> ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))))),
% 0.64/0.69      inference(bind,[status(th)],[])).
% 0.64/0.69  tff(167,plain,
% 0.64/0.69      (![Z: $i, Y: $i, X: $i] : ((((~defined(X, Y)) | (~defined(Y, Z))) | (~identity_map(Y))) | defined(X, Z)) <=> ![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(quant_intro,[status(thm)],[166])).
% 0.64/0.69  tff(168,axiom,(![Z: $i, Y: $i, X: $i] : ((((~defined(X, Y)) | (~defined(Y, Z))) | (~identity_map(Y))) | defined(X, Z))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','category_theory_axiom6')).
% 0.64/0.69  tff(169,plain,
% 0.64/0.69      (![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(modus_ponens,[status(thm)],[168, 167])).
% 0.64/0.69  tff(170,plain,
% 0.64/0.69      (![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(modus_ponens,[status(thm)],[169, 165])).
% 0.64/0.69  tff(171,plain,(
% 0.64/0.69      ![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(skolemize,[status(sab)],[170])).
% 0.64/0.69  tff(172,plain,
% 0.64/0.69      (![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))),
% 0.64/0.69      inference(modus_ponens,[status(thm)],[171, 164])).
% 0.64/0.69  tff(173,plain,
% 0.64/0.69      (((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | (defined(g, compose(a, b)) | (~defined(codomain(compose(a, b)), compose(a, b))) | (~identity_map(codomain(compose(a, b)))) | (~defined(g, codomain(compose(a, b)))))) <=> ((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | defined(g, compose(a, b)) | (~defined(codomain(compose(a, b)), compose(a, b))) | (~identity_map(codomain(compose(a, b)))) | (~defined(g, codomain(compose(a, b)))))),
% 0.64/0.69      inference(rewrite,[status(thm)],[])).
% 0.64/0.69  tff(174,plain,
% 0.64/0.69      (((~defined(g, codomain(compose(a, b)))) | defined(g, compose(a, b)) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(compose(a, b)), compose(a, b)))) <=> (defined(g, compose(a, b)) | (~defined(codomain(compose(a, b)), compose(a, b))) | (~identity_map(codomain(compose(a, b)))) | (~defined(g, codomain(compose(a, b)))))),
% 0.64/0.69      inference(rewrite,[status(thm)],[])).
% 0.64/0.69  tff(175,plain,
% 0.64/0.69      (((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | ((~defined(g, codomain(compose(a, b)))) | defined(g, compose(a, b)) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(compose(a, b)), compose(a, b))))) <=> ((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | (defined(g, compose(a, b)) | (~defined(codomain(compose(a, b)), compose(a, b))) | (~identity_map(codomain(compose(a, b)))) | (~defined(g, codomain(compose(a, b))))))),
% 0.64/0.69      inference(monotonicity,[status(thm)],[174])).
% 0.64/0.69  tff(176,plain,
% 0.64/0.69      (((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | ((~defined(g, codomain(compose(a, b)))) | defined(g, compose(a, b)) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(compose(a, b)), compose(a, b))))) <=> ((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | defined(g, compose(a, b)) | (~defined(codomain(compose(a, b)), compose(a, b))) | (~identity_map(codomain(compose(a, b)))) | (~defined(g, codomain(compose(a, b)))))),
% 0.64/0.70      inference(transitivity,[status(thm)],[175, 173])).
% 0.64/0.70  tff(177,plain,
% 0.64/0.70      ((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | ((~defined(g, codomain(compose(a, b)))) | defined(g, compose(a, b)) | (~identity_map(codomain(compose(a, b)))) | (~defined(codomain(compose(a, b)), compose(a, b))))),
% 0.64/0.70      inference(quant_inst,[status(thm)],[])).
% 0.64/0.70  tff(178,plain,
% 0.64/0.70      ((~![Z: $i, Y: $i, X: $i] : ((~defined(X, Y)) | defined(X, Z) | (~identity_map(Y)) | (~defined(Y, Z)))) | defined(g, compose(a, b)) | (~defined(codomain(compose(a, b)), compose(a, b))) | (~identity_map(codomain(compose(a, b)))) | (~defined(g, codomain(compose(a, b))))),
% 0.64/0.70      inference(modus_ponens,[status(thm)],[177, 176])).
% 0.64/0.70  tff(179,plain,
% 0.64/0.70      ($false),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[178, 172, 162, 95, 161, 152])).
% 0.64/0.70  tff(180,plain,(defined(g, compose(a, b))), inference(lemma,lemma(discharge,[]))).
% 0.64/0.70  tff(181,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(d, b) | (~product(g, a, d)) | (~product(a, b, compose(a, b))) | (~defined(g, compose(a, b))))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | defined(d, b) | (~product(g, a, d)) | (~product(a, b, compose(a, b))) | (~defined(g, compose(a, b))))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(182,plain,
% 0.64/0.70      (((~defined(g, compose(a, b))) | defined(d, b) | (~product(a, b, compose(a, b))) | (~product(g, a, d))) <=> (defined(d, b) | (~product(g, a, d)) | (~product(a, b, compose(a, b))) | (~defined(g, compose(a, b))))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(183,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, compose(a, b))) | defined(d, b) | (~product(a, b, compose(a, b))) | (~product(g, a, d)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(d, b) | (~product(g, a, d)) | (~product(a, b, compose(a, b))) | (~defined(g, compose(a, b)))))),
% 0.64/0.70      inference(monotonicity,[status(thm)],[182])).
% 0.64/0.70  tff(184,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, compose(a, b))) | defined(d, b) | (~product(a, b, compose(a, b))) | (~product(g, a, d)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | defined(d, b) | (~product(g, a, d)) | (~product(a, b, compose(a, b))) | (~defined(g, compose(a, b))))),
% 0.64/0.70      inference(transitivity,[status(thm)],[183, 181])).
% 0.64/0.70  tff(185,plain,
% 0.64/0.70      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(g, compose(a, b))) | defined(d, b) | (~product(a, b, compose(a, b))) | (~product(g, a, d)))),
% 0.64/0.70      inference(quant_inst,[status(thm)],[])).
% 0.64/0.70  tff(186,plain,
% 0.64/0.70      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | defined(d, b) | (~product(g, a, d)) | (~product(a, b, compose(a, b))) | (~defined(g, compose(a, b)))),
% 0.64/0.70      inference(modus_ponens,[status(thm)],[185, 184])).
% 0.64/0.70  tff(187,plain,
% 0.64/0.70      (defined(d, b) | (~defined(g, compose(a, b)))),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[186, 145, 115, 25])).
% 0.64/0.70  tff(188,plain,
% 0.64/0.70      (defined(d, b)),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[187, 180])).
% 0.64/0.70  tff(189,plain,
% 0.64/0.70      (product(h, a, d) <=> product(h, a, d)),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(190,axiom,(product(h, a, d)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','ha_equals_d')).
% 0.64/0.70  tff(191,plain,
% 0.64/0.70      (product(h, a, d)),
% 0.64/0.70      inference(modus_ponens,[status(thm)],[190, 189])).
% 0.64/0.70  tff(192,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(h, c) | (~product(a, b, c)) | (~product(h, a, d)) | (~defined(d, b)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | defined(h, c) | (~product(a, b, c)) | (~product(h, a, d)) | (~defined(d, b)))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(193,plain,
% 0.64/0.70      ((defined(h, c) | (~defined(d, b)) | (~product(a, b, c)) | (~product(h, a, d))) <=> (defined(h, c) | (~product(a, b, c)) | (~product(h, a, d)) | (~defined(d, b)))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(194,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(h, c) | (~defined(d, b)) | (~product(a, b, c)) | (~product(h, a, d)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(h, c) | (~product(a, b, c)) | (~product(h, a, d)) | (~defined(d, b))))),
% 0.64/0.70      inference(monotonicity,[status(thm)],[193])).
% 0.64/0.70  tff(195,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(h, c) | (~defined(d, b)) | (~product(a, b, c)) | (~product(h, a, d)))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | defined(h, c) | (~product(a, b, c)) | (~product(h, a, d)) | (~defined(d, b)))),
% 0.64/0.70      inference(transitivity,[status(thm)],[194, 192])).
% 0.64/0.70  tff(196,plain,
% 0.64/0.70      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (defined(h, c) | (~defined(d, b)) | (~product(a, b, c)) | (~product(h, a, d)))),
% 0.64/0.70      inference(quant_inst,[status(thm)],[])).
% 0.64/0.70  tff(197,plain,
% 0.64/0.70      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : (defined(X, Yz) | (~defined(Xy, Z)) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | defined(h, c) | (~product(a, b, c)) | (~product(h, a, d)) | (~defined(d, b))),
% 0.64/0.70      inference(modus_ponens,[status(thm)],[196, 195])).
% 0.64/0.70  tff(198,plain,
% 0.64/0.70      (defined(h, c) | (~defined(d, b))),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[197, 60, 3, 191])).
% 0.64/0.70  tff(199,plain,
% 0.64/0.70      (defined(h, c)),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[198, 188])).
% 0.64/0.70  tff(200,plain,
% 0.64/0.70      (((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | ((~product(h, a, d)) | defined(h, a))) <=> ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | (~product(h, a, d)) | defined(h, a))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(201,plain,
% 0.64/0.70      ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | ((~product(h, a, d)) | defined(h, a))),
% 0.64/0.70      inference(quant_inst,[status(thm)],[])).
% 0.64/0.70  tff(202,plain,
% 0.64/0.70      ((~![Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | defined(X, Y))) | (~product(h, a, d)) | defined(h, a)),
% 0.64/0.70      inference(modus_ponens,[status(thm)],[201, 200])).
% 0.64/0.70  tff(203,plain,
% 0.64/0.70      (defined(h, a)),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[202, 10, 191])).
% 0.64/0.70  tff(204,plain,
% 0.64/0.70      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(h, a)) | product(h, a, compose(h, a)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(h, a)) | product(h, a, compose(h, a)))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(205,plain,
% 0.64/0.70      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(h, a)) | product(h, a, compose(h, a)))),
% 0.64/0.70      inference(quant_inst,[status(thm)],[])).
% 0.64/0.70  tff(206,plain,
% 0.64/0.70      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(h, a)) | product(h, a, compose(h, a))),
% 0.64/0.70      inference(modus_ponens,[status(thm)],[205, 204])).
% 0.64/0.70  tff(207,plain,
% 0.64/0.70      (product(h, a, compose(h, a))),
% 0.64/0.70      inference(unit_resolution,[status(thm)],[206, 21, 203])).
% 0.64/0.70  tff(208,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(h, c)) | (~product(a, b, c)) | defined(compose(h, a), b) | (~product(h, a, compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(h, c)) | (~product(a, b, c)) | defined(compose(h, a), b) | (~product(h, a, compose(h, a))))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(209,plain,
% 0.64/0.70      (((~defined(h, c)) | defined(compose(h, a), b) | (~product(a, b, c)) | (~product(h, a, compose(h, a)))) <=> ((~defined(h, c)) | (~product(a, b, c)) | defined(compose(h, a), b) | (~product(h, a, compose(h, a))))),
% 0.64/0.70      inference(rewrite,[status(thm)],[])).
% 0.64/0.70  tff(210,plain,
% 0.64/0.70      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(h, c)) | defined(compose(h, a), b) | (~product(a, b, c)) | (~product(h, a, compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(h, c)) | (~product(a, b, c)) | defined(compose(h, a), b) | (~product(h, a, compose(h, a)))))),
% 0.64/0.71      inference(monotonicity,[status(thm)],[209])).
% 0.64/0.71  tff(211,plain,
% 0.64/0.71      (((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(h, c)) | defined(compose(h, a), b) | (~product(a, b, c)) | (~product(h, a, compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(h, c)) | (~product(a, b, c)) | defined(compose(h, a), b) | (~product(h, a, compose(h, a))))),
% 0.64/0.71      inference(transitivity,[status(thm)],[210, 208])).
% 0.64/0.71  tff(212,plain,
% 0.64/0.71      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | ((~defined(h, c)) | defined(compose(h, a), b) | (~product(a, b, c)) | (~product(h, a, compose(h, a))))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(213,plain,
% 0.64/0.71      ((~![Xy: $i, Z: $i, Y: $i, X: $i, Yz: $i] : ((~defined(X, Yz)) | defined(Xy, Z) | (~product(Y, Z, Yz)) | (~product(X, Y, Xy)))) | (~defined(h, c)) | (~product(a, b, c)) | defined(compose(h, a), b) | (~product(h, a, compose(h, a)))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[212, 211])).
% 0.64/0.71  tff(214,plain,
% 0.64/0.71      ((~defined(h, c)) | defined(compose(h, a), b)),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[213, 145, 3, 207])).
% 0.64/0.71  tff(215,plain,
% 0.64/0.71      (defined(compose(h, a), b)),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[214, 199])).
% 0.64/0.71  tff(216,plain,
% 0.64/0.71      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(compose(h, a), b)) | product(compose(h, a), b, compose(compose(h, a), b)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(compose(h, a), b)) | product(compose(h, a), b, compose(compose(h, a), b)))),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(217,plain,
% 0.64/0.71      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(compose(h, a), b)) | product(compose(h, a), b, compose(compose(h, a), b)))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(218,plain,
% 0.64/0.71      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(compose(h, a), b)) | product(compose(h, a), b, compose(compose(h, a), b))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[217, 216])).
% 0.64/0.71  tff(219,plain,
% 0.64/0.71      (product(compose(h, a), b, compose(compose(h, a), b))),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[218, 21, 215])).
% 0.64/0.71  tff(220,plain,
% 0.64/0.71      ((~![X: $i] : defined(codomain(X), X)) | defined(codomain(a), a)),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(221,plain,
% 0.64/0.71      (defined(codomain(a), a)),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[220, 159])).
% 0.64/0.71  tff(222,plain,
% 0.64/0.71      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(codomain(a), a)) | product(codomain(a), a, compose(codomain(a), a)))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(codomain(a), a)) | product(codomain(a), a, compose(codomain(a), a)))),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(223,plain,
% 0.64/0.71      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(codomain(a), a)) | product(codomain(a), a, compose(codomain(a), a)))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(224,plain,
% 0.64/0.71      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(codomain(a), a)) | product(codomain(a), a, compose(codomain(a), a))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[223, 222])).
% 0.64/0.71  tff(225,plain,
% 0.64/0.71      (product(codomain(a), a, compose(codomain(a), a))),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[224, 21, 221])).
% 0.64/0.71  tff(226,plain,
% 0.64/0.71      (((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(codomain(a), a, a)) | (~product(codomain(a), a, compose(codomain(a), a))) | (a = compose(codomain(a), a)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(codomain(a), a, a)) | (~product(codomain(a), a, compose(codomain(a), a))) | (a = compose(codomain(a), a)))),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(227,plain,
% 0.64/0.71      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(codomain(a), a, a)) | (~product(codomain(a), a, compose(codomain(a), a))) | (a = compose(codomain(a), a)))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(228,plain,
% 0.64/0.71      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(codomain(a), a, a)) | (~product(codomain(a), a, compose(codomain(a), a))) | (a = compose(codomain(a), a))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[227, 226])).
% 0.64/0.71  tff(229,plain,
% 0.64/0.71      (a = compose(codomain(a), a)),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[228, 35, 50, 225])).
% 0.64/0.71  tff(230,plain,
% 0.64/0.71      (compose(codomain(a), a) = a),
% 0.64/0.71      inference(symmetry,[status(thm)],[229])).
% 0.64/0.71  tff(231,plain,
% 0.64/0.71      (^[X: $i] : refl(defined(X, domain(X)) <=> defined(X, domain(X)))),
% 0.64/0.71      inference(bind,[status(th)],[])).
% 0.64/0.71  tff(232,plain,
% 0.64/0.71      (![X: $i] : defined(X, domain(X)) <=> ![X: $i] : defined(X, domain(X))),
% 0.64/0.71      inference(quant_intro,[status(thm)],[231])).
% 0.64/0.71  tff(233,plain,
% 0.64/0.71      (![X: $i] : defined(X, domain(X)) <=> ![X: $i] : defined(X, domain(X))),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(234,axiom,(![X: $i] : defined(X, domain(X))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','mapping_from_x_to_its_domain')).
% 0.64/0.71  tff(235,plain,
% 0.64/0.71      (![X: $i] : defined(X, domain(X))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[234, 233])).
% 0.64/0.71  tff(236,plain,(
% 0.64/0.71      ![X: $i] : defined(X, domain(X))),
% 0.64/0.71      inference(skolemize,[status(sab)],[235])).
% 0.64/0.71  tff(237,plain,
% 0.64/0.71      (![X: $i] : defined(X, domain(X))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[236, 232])).
% 0.64/0.71  tff(238,plain,
% 0.64/0.71      ((~![X: $i] : defined(X, domain(X))) | defined(h, domain(h))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(239,plain,
% 0.64/0.71      (defined(h, domain(h))),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[238, 237])).
% 0.64/0.71  tff(240,plain,
% 0.64/0.71      (((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(h, domain(h))) | product(h, domain(h), compose(h, domain(h))))) <=> ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(h, domain(h))) | product(h, domain(h), compose(h, domain(h))))),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(241,plain,
% 0.64/0.71      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | ((~defined(h, domain(h))) | product(h, domain(h), compose(h, domain(h))))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(242,plain,
% 0.64/0.71      ((~![Y: $i, X: $i] : ((~defined(X, Y)) | product(X, Y, compose(X, Y)))) | (~defined(h, domain(h))) | product(h, domain(h), compose(h, domain(h)))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[241, 240])).
% 0.64/0.71  tff(243,plain,
% 0.64/0.71      (product(h, domain(h), compose(h, domain(h)))),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[242, 21, 239])).
% 0.64/0.71  tff(244,plain,
% 0.64/0.71      (^[X: $i] : refl(product(X, domain(X), X) <=> product(X, domain(X), X))),
% 0.64/0.71      inference(bind,[status(th)],[])).
% 0.64/0.71  tff(245,plain,
% 0.64/0.71      (![X: $i] : product(X, domain(X), X) <=> ![X: $i] : product(X, domain(X), X)),
% 0.64/0.71      inference(quant_intro,[status(thm)],[244])).
% 0.64/0.71  tff(246,plain,
% 0.64/0.71      (![X: $i] : product(X, domain(X), X) <=> ![X: $i] : product(X, domain(X), X)),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(247,axiom,(![X: $i] : product(X, domain(X), X)), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','product_on_domain')).
% 0.64/0.71  tff(248,plain,
% 0.64/0.71      (![X: $i] : product(X, domain(X), X)),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[247, 246])).
% 0.64/0.71  tff(249,plain,(
% 0.64/0.71      ![X: $i] : product(X, domain(X), X)),
% 0.64/0.71      inference(skolemize,[status(sab)],[248])).
% 0.64/0.71  tff(250,plain,
% 0.64/0.71      (![X: $i] : product(X, domain(X), X)),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[249, 245])).
% 0.64/0.71  tff(251,plain,
% 0.64/0.71      ((~![X: $i] : product(X, domain(X), X)) | product(h, domain(h), h)),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(252,plain,
% 0.64/0.71      (product(h, domain(h), h)),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[251, 250])).
% 0.64/0.71  tff(253,plain,
% 0.64/0.71      (((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(h, domain(h), h)) | (~product(h, domain(h), compose(h, domain(h)))) | (h = compose(h, domain(h))))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(h, domain(h), h)) | (~product(h, domain(h), compose(h, domain(h)))) | (h = compose(h, domain(h))))),
% 0.64/0.71      inference(rewrite,[status(thm)],[])).
% 0.64/0.71  tff(254,plain,
% 0.64/0.71      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(h, domain(h), h)) | (~product(h, domain(h), compose(h, domain(h)))) | (h = compose(h, domain(h))))),
% 0.64/0.71      inference(quant_inst,[status(thm)],[])).
% 0.64/0.71  tff(255,plain,
% 0.64/0.71      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(h, domain(h), h)) | (~product(h, domain(h), compose(h, domain(h)))) | (h = compose(h, domain(h)))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[254, 253])).
% 0.64/0.71  tff(256,plain,
% 0.64/0.71      (h = compose(h, domain(h))),
% 0.64/0.71      inference(unit_resolution,[status(thm)],[255, 35, 252, 243])).
% 0.64/0.71  tff(257,plain,
% 0.64/0.71      (compose(h, domain(h)) = h),
% 0.64/0.71      inference(symmetry,[status(thm)],[256])).
% 0.64/0.71  tff(258,plain,
% 0.64/0.71      (product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a)) <=> product(h, a, compose(h, a))),
% 0.64/0.71      inference(monotonicity,[status(thm)],[257, 230])).
% 0.64/0.71  tff(259,plain,
% 0.64/0.71      (product(h, a, compose(h, a)) <=> product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))),
% 0.64/0.71      inference(symmetry,[status(thm)],[258])).
% 0.64/0.71  tff(260,plain,
% 0.64/0.71      (product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[207, 259])).
% 0.64/0.71  tff(261,plain,
% 0.64/0.71      (product(compose(codomain(a), a), b, compose(a, b)) <=> product(a, b, compose(a, b))),
% 0.64/0.71      inference(monotonicity,[status(thm)],[230])).
% 0.64/0.71  tff(262,plain,
% 0.64/0.71      (product(a, b, compose(a, b)) <=> product(compose(codomain(a), a), b, compose(a, b))),
% 0.64/0.71      inference(symmetry,[status(thm)],[261])).
% 0.64/0.71  tff(263,plain,
% 0.64/0.71      (product(compose(codomain(a), a), b, compose(a, b))),
% 0.64/0.71      inference(modus_ponens,[status(thm)],[25, 262])).
% 0.64/0.71  tff(264,plain,
% 0.64/0.71      (^[Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : refl((product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy))) <=> (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy))))),
% 0.64/0.71      inference(bind,[status(th)],[])).
% 0.64/0.71  tff(265,plain,
% 0.64/0.71      (![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy))) <=> ![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.71      inference(quant_intro,[status(thm)],[264])).
% 0.64/0.71  tff(266,plain,
% 0.64/0.71      (![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy))) <=> ![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.72      inference(rewrite,[status(thm)],[])).
% 0.64/0.72  tff(267,plain,
% 0.64/0.72      (^[Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : trans(monotonicity(rewrite((((~product(X, Y, Xy)) | (~product(Xy, Z, Xyz))) | (~product(Y, Z, Yz))) <=> ((~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))), (((((~product(X, Y, Xy)) | (~product(Xy, Z, Xyz))) | (~product(Y, Z, Yz))) | product(X, Yz, Xyz)) <=> (((~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy))) | product(X, Yz, Xyz)))), rewrite((((~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy))) | product(X, Yz, Xyz)) <=> (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))), (((((~product(X, Y, Xy)) | (~product(Xy, Z, Xyz))) | (~product(Y, Z, Yz))) | product(X, Yz, Xyz)) <=> (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))))),
% 0.64/0.72      inference(bind,[status(th)],[])).
% 0.64/0.72  tff(268,plain,
% 0.64/0.72      (![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : ((((~product(X, Y, Xy)) | (~product(Xy, Z, Xyz))) | (~product(Y, Z, Yz))) | product(X, Yz, Xyz)) <=> ![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.72      inference(quant_intro,[status(thm)],[267])).
% 0.64/0.72  tff(269,axiom,(![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : ((((~product(X, Y, Xy)) | (~product(Xy, Z, Xyz))) | (~product(Y, Z, Yz))) | product(X, Yz, Xyz))), file('/export/starexec/sandbox/benchmark/Axioms/CAT001-0.ax','category_theory_axiom2')).
% 0.64/0.72  tff(270,plain,
% 0.64/0.72      (![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[269, 268])).
% 0.64/0.72  tff(271,plain,
% 0.64/0.72      (![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[270, 266])).
% 0.64/0.72  tff(272,plain,(
% 0.64/0.72      ![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.72      inference(skolemize,[status(sab)],[271])).
% 0.64/0.72  tff(273,plain,
% 0.64/0.72      (![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[272, 265])).
% 0.64/0.72  tff(274,plain,
% 0.64/0.72      (((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | ((~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)))) <=> ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)))),
% 0.64/0.72      inference(rewrite,[status(thm)],[])).
% 0.64/0.72  tff(275,plain,
% 0.64/0.72      ((product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a)))) <=> ((~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)))),
% 0.64/0.72      inference(rewrite,[status(thm)],[])).
% 0.64/0.72  tff(276,plain,
% 0.64/0.72      (((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | ((~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b))))),
% 0.64/0.72      inference(monotonicity,[status(thm)],[275])).
% 0.64/0.72  tff(277,plain,
% 0.64/0.72      (((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)))),
% 0.64/0.72      inference(transitivity,[status(thm)],[276, 274])).
% 0.64/0.72  tff(278,plain,
% 0.64/0.72      ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))))),
% 0.64/0.72      inference(quant_inst,[status(thm)],[])).
% 0.64/0.72  tff(279,plain,
% 0.64/0.72      ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, domain(h)), compose(codomain(a), a), compose(h, a))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b))),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[278, 277])).
% 0.64/0.72  tff(280,plain,
% 0.64/0.72      (product(compose(h, domain(h)), compose(a, b), compose(compose(h, a), b))),
% 0.64/0.72      inference(unit_resolution,[status(thm)],[279, 273, 263, 260, 219])).
% 0.64/0.72  tff(281,plain,
% 0.64/0.72      (product(compose(h, domain(h)), c, compose(compose(h, a), b))),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[280, 41])).
% 0.64/0.72  tff(282,plain,
% 0.64/0.72      ((compose(h, domain(h)) = g) <=> (h = g)),
% 0.64/0.72      inference(monotonicity,[status(thm)],[257])).
% 0.64/0.72  tff(283,plain,
% 0.64/0.72      ((h = g) <=> (compose(h, domain(h)) = g)),
% 0.64/0.72      inference(symmetry,[status(thm)],[282])).
% 0.64/0.72  tff(284,plain,
% 0.64/0.72      ((~(h = g)) <=> (~(compose(h, domain(h)) = g))),
% 0.64/0.72      inference(monotonicity,[status(thm)],[283])).
% 0.64/0.72  tff(285,plain,
% 0.64/0.72      ((~(h = g)) <=> (~(h = g))),
% 0.64/0.72      inference(rewrite,[status(thm)],[])).
% 0.64/0.72  tff(286,axiom,(~(h = g)), file('/export/starexec/sandbox/benchmark/theBenchmark.p','prove_h_equals_g')).
% 0.64/0.72  tff(287,plain,
% 0.64/0.72      (~(h = g)),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[286, 285])).
% 0.64/0.72  tff(288,plain,
% 0.64/0.72      (~(compose(h, domain(h)) = g)),
% 0.64/0.72      inference(modus_ponens,[status(thm)],[287, 284])).
% 0.64/0.72  tff(289,plain,
% 0.64/0.72      (product(g, c, compose(compose(h, a), b)) <=> product(g, compose(a, b), compose(compose(h, a), b))),
% 0.64/0.72      inference(monotonicity,[status(thm)],[39])).
% 0.64/0.72  tff(290,plain,
% 0.64/0.72      (product(g, compose(a, b), compose(compose(h, a), b)) <=> product(g, c, compose(compose(h, a), b))),
% 0.64/0.73      inference(symmetry,[status(thm)],[289])).
% 0.64/0.73  tff(291,plain,
% 0.64/0.73      (((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(h, a, d)) | (~product(h, a, compose(h, a))) | (d = compose(h, a)))) <=> ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(h, a, d)) | (~product(h, a, compose(h, a))) | (d = compose(h, a)))),
% 0.64/0.73      inference(rewrite,[status(thm)],[])).
% 0.64/0.73  tff(292,plain,
% 0.64/0.73      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | ((~product(h, a, d)) | (~product(h, a, compose(h, a))) | (d = compose(h, a)))),
% 0.64/0.73      inference(quant_inst,[status(thm)],[])).
% 0.64/0.73  tff(293,plain,
% 0.64/0.73      ((~![W: $i, Z: $i, Y: $i, X: $i] : ((~product(X, Y, Z)) | (~product(X, Y, W)) | (Z = W))) | (~product(h, a, d)) | (~product(h, a, compose(h, a))) | (d = compose(h, a))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[292, 291])).
% 0.64/0.73  tff(294,plain,
% 0.64/0.73      (d = compose(h, a)),
% 0.64/0.73      inference(unit_resolution,[status(thm)],[293, 35, 191, 207])).
% 0.64/0.73  tff(295,plain,
% 0.64/0.73      (compose(h, a) = d),
% 0.64/0.73      inference(symmetry,[status(thm)],[294])).
% 0.64/0.73  tff(296,plain,
% 0.64/0.73      (product(g, compose(codomain(a), a), compose(h, a)) <=> product(g, a, d)),
% 0.64/0.73      inference(monotonicity,[status(thm)],[230, 295])).
% 0.64/0.73  tff(297,plain,
% 0.64/0.73      (product(g, a, d) <=> product(g, compose(codomain(a), a), compose(h, a))),
% 0.64/0.73      inference(symmetry,[status(thm)],[296])).
% 0.64/0.73  tff(298,plain,
% 0.64/0.73      (product(g, compose(codomain(a), a), compose(h, a))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[115, 297])).
% 0.64/0.73  tff(299,plain,
% 0.64/0.73      (((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | ((~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b)))) <=> ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b)))),
% 0.64/0.73      inference(rewrite,[status(thm)],[])).
% 0.64/0.73  tff(300,plain,
% 0.64/0.73      ((product(g, compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a)))) <=> ((~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b)))),
% 0.64/0.73      inference(rewrite,[status(thm)],[])).
% 0.64/0.73  tff(301,plain,
% 0.64/0.73      (((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (product(g, compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | ((~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b))))),
% 0.64/0.73      inference(monotonicity,[status(thm)],[300])).
% 0.64/0.73  tff(302,plain,
% 0.64/0.73      (((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (product(g, compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))))) <=> ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b)))),
% 0.64/0.73      inference(transitivity,[status(thm)],[301, 299])).
% 0.64/0.73  tff(303,plain,
% 0.64/0.73      ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (product(g, compose(a, b), compose(compose(h, a), b)) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))))),
% 0.64/0.73      inference(quant_inst,[status(thm)],[])).
% 0.64/0.73  tff(304,plain,
% 0.64/0.73      ((~![Xy: $i, Z: $i, Y: $i, Xyz: $i, X: $i, Yz: $i] : (product(X, Yz, Xyz) | (~product(Y, Z, Yz)) | (~product(Xy, Z, Xyz)) | (~product(X, Y, Xy)))) | (~product(compose(codomain(a), a), b, compose(a, b))) | (~product(compose(h, a), b, compose(compose(h, a), b))) | (~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[303, 302])).
% 0.64/0.73  tff(305,plain,
% 0.64/0.73      ((~product(g, compose(codomain(a), a), compose(h, a))) | product(g, compose(a, b), compose(compose(h, a), b))),
% 0.64/0.73      inference(unit_resolution,[status(thm)],[304, 273, 263, 219])).
% 0.64/0.73  tff(306,plain,
% 0.64/0.73      (product(g, compose(a, b), compose(compose(h, a), b))),
% 0.64/0.73      inference(unit_resolution,[status(thm)],[305, 298])).
% 0.64/0.73  tff(307,plain,
% 0.64/0.73      (product(g, c, compose(compose(h, a), b))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[306, 290])).
% 0.64/0.73  tff(308,plain,
% 0.64/0.73      (^[W: $i, Y: $i, X: $i] : refl(((X = Y) | (~product(Y, c, W)) | (~product(X, c, W))) <=> ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W))))),
% 0.64/0.73      inference(bind,[status(th)],[])).
% 0.64/0.73  tff(309,plain,
% 0.64/0.73      (![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W))) <=> ![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(quant_intro,[status(thm)],[308])).
% 0.64/0.73  tff(310,plain,
% 0.64/0.73      (![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W))) <=> ![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(rewrite,[status(thm)],[])).
% 0.64/0.73  tff(311,plain,
% 0.64/0.73      (^[W: $i, Y: $i, X: $i] : rewrite((((~product(X, c, W)) | (~product(Y, c, W))) | (X = Y)) <=> ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W))))),
% 0.64/0.73      inference(bind,[status(th)],[])).
% 0.64/0.73  tff(312,plain,
% 0.64/0.73      (![W: $i, Y: $i, X: $i] : (((~product(X, c, W)) | (~product(Y, c, W))) | (X = Y)) <=> ![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(quant_intro,[status(thm)],[311])).
% 0.64/0.73  tff(313,axiom,(![W: $i, Y: $i, X: $i] : (((~product(X, c, W)) | (~product(Y, c, W))) | (X = Y))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','cancellation_for_product')).
% 0.64/0.73  tff(314,plain,
% 0.64/0.73      (![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[313, 312])).
% 0.64/0.73  tff(315,plain,
% 0.64/0.73      (![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[314, 310])).
% 0.64/0.73  tff(316,plain,(
% 0.64/0.73      ![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(skolemize,[status(sab)],[315])).
% 0.64/0.73  tff(317,plain,
% 0.64/0.73      (![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))),
% 0.64/0.73      inference(modus_ponens,[status(thm)],[316, 309])).
% 0.64/0.73  tff(318,plain,
% 0.64/0.73      (((~![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))) | ((compose(h, domain(h)) = g) | (~product(g, c, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), c, compose(compose(h, a), b))))) <=> ((~![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))) | (compose(h, domain(h)) = g) | (~product(g, c, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), c, compose(compose(h, a), b))))),
% 0.74/0.74      inference(rewrite,[status(thm)],[])).
% 0.74/0.74  tff(319,plain,
% 0.74/0.74      ((~![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))) | ((compose(h, domain(h)) = g) | (~product(g, c, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), c, compose(compose(h, a), b))))),
% 0.74/0.74      inference(quant_inst,[status(thm)],[])).
% 0.74/0.74  tff(320,plain,
% 0.74/0.74      ((~![W: $i, Y: $i, X: $i] : ((X = Y) | (~product(Y, c, W)) | (~product(X, c, W)))) | (compose(h, domain(h)) = g) | (~product(g, c, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), c, compose(compose(h, a), b)))),
% 0.74/0.74      inference(modus_ponens,[status(thm)],[319, 318])).
% 0.74/0.74  tff(321,plain,
% 0.74/0.74      ((compose(h, domain(h)) = g) | (~product(g, c, compose(compose(h, a), b))) | (~product(compose(h, domain(h)), c, compose(compose(h, a), b)))),
% 0.74/0.74      inference(unit_resolution,[status(thm)],[320, 317])).
% 0.74/0.74  tff(322,plain,
% 0.74/0.74      ($false),
% 0.74/0.74      inference(unit_resolution,[status(thm)],[321, 307, 288, 281])).
% 0.74/0.74  % SZS output end Proof
%------------------------------------------------------------------------------