TSTP Solution File: CAT010-1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : CAT010-1 : TPTP v8.2.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : do_cvc5 %s %d

% Computer : n010.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 : Wed May 29 16:37:00 EDT 2024

% Result   : Unsatisfiable 0.22s 0.57s
% Output   : Proof 0.22s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.08/0.14  % Problem    : CAT010-1 : TPTP v8.2.0. Released v1.0.0.
% 0.08/0.15  % Command    : do_cvc5 %s %d
% 0.15/0.36  % Computer : n010.cluster.edu
% 0.15/0.36  % Model    : x86_64 x86_64
% 0.15/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.36  % Memory   : 8042.1875MB
% 0.15/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.36  % CPULimit   : 300
% 0.15/0.36  % WCLimit    : 300
% 0.15/0.36  % DateTime   : Sat May 25 20:49:54 EDT 2024
% 0.15/0.36  % CPUTime    : 
% 0.22/0.51  %----Proving TF0_NAR, FOF, or CNF
% 0.22/0.52  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.22/0.57  % SZS status Unsatisfiable for /export/starexec/sandbox/tmp/tmp.azd9g4hSVA/cvc5---1.0.5_27742.smt2
% 0.22/0.57  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.azd9g4hSVA/cvc5---1.0.5_27742.smt2
% 0.22/0.58  (assume a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))))
% 0.22/0.58  (assume a1 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))))
% 0.22/0.58  (assume a2 (forall ((X $$unsorted) (Y $$unsorted) (Xy $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Xy)) (not (tptp.defined Xy Z)) (tptp.defined Y Z))))
% 0.22/0.58  (assume a3 (forall ((X $$unsorted) (Y $$unsorted) (Xy $$unsorted) (Z $$unsorted) (Yz $$unsorted)) (or (not (tptp.product X Y Xy)) (not (tptp.product Y Z Yz)) (not (tptp.defined Xy Z)) (tptp.defined X Yz))))
% 0.22/0.58  (assume a4 (forall ((X $$unsorted) (Y $$unsorted) (Xy $$unsorted) (Z $$unsorted) (Xyz $$unsorted) (Yz $$unsorted)) (or (not (tptp.product X Y Xy)) (not (tptp.product Xy Z Xyz)) (not (tptp.product Y Z Yz)) (tptp.product X Yz Xyz))))
% 0.22/0.58  (assume a5 (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))))
% 0.22/0.58  (assume a6 (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted) (Xy $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.product X Y Xy)) (not (tptp.defined X Yz)) (tptp.defined Xy Z))))
% 0.22/0.58  (assume a7 (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted) (Xyz $$unsorted) (Xy $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.product X Yz Xyz)) (not (tptp.product X Y Xy)) (tptp.product Xy Z Xyz))))
% 0.22/0.58  (assume a8 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.defined Y Z)) (not (tptp.identity_map Y)) (tptp.defined X Z))))
% 0.22/0.58  (assume a9 (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))))
% 0.22/0.58  (assume a10 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 0.22/0.58  (assume a11 (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))))
% 0.22/0.58  (assume a12 (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)))
% 0.22/0.58  (assume a13 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 0.22/0.58  (assume a14 (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)))
% 0.22/0.58  (assume a15 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 0.22/0.58  (assume a16 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))))
% 0.22/0.58  (assume a17 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))))
% 0.22/0.58  (assume a18 (tptp.defined tptp.b tptp.a))
% 0.22/0.58  (assume a19 (not (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))
% 0.22/0.58  (step t1 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t2)
% 0.22/0.58  (assume t2.a0 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))))
% 0.22/0.58  (step t2.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W)))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule forall_inst :args ((:= X (tptp.codomain (tptp.compose tptp.b tptp.a))) (:= Y (tptp.codomain tptp.b)) (:= Z (tptp.codomain (tptp.compose tptp.b tptp.a))) (:= W (tptp.codomain tptp.b))))
% 0.22/0.58  (step t2.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W)))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule or :premises (t2.t1))
% 0.22/0.58  (step t2.t3 (cl (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule resolution :premises (t2.t2 t2.a0))
% 0.22/0.58  (step t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W)))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule subproof :discharge (t2.a0))
% 0.22/0.58  (step t3 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule resolution :premises (t1 t2))
% 0.22/0.58  (step t4 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (not (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule implies_neg2)
% 0.22/0.58  (step t5 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule resolution :premises (t3 t4))
% 0.22/0.58  (step t6 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule contraction :premises (t5))
% 0.22/0.58  (step t7 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted)) (or (not (tptp.product X Y Z)) (not (tptp.product X Y W)) (= Z W)))) (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule implies :premises (t6))
% 0.22/0.58  (step t8 (cl (not (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) :rule or_pos)
% 0.22/0.58  (step t9 (cl (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule reordering :premises (t8))
% 0.22/0.58  (step t10 (cl (not (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) :rule or_pos)
% 0.22/0.58  (step t11 (cl (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)) (not (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))))) :rule reordering :premises (t10))
% 0.22/0.58  (step t12 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t13)
% 0.22/0.58  (assume t13.a0 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 0.22/0.58  (step t13.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule forall_inst :args ((:= X (tptp.compose tptp.b tptp.a))))
% 0.22/0.58  (step t13.t2 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule or :premises (t13.t1))
% 0.22/0.58  (step t13.t3 (cl (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t13.t2 t13.a0))
% 0.22/0.58  (step t13 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule subproof :discharge (t13.a0))
% 0.22/0.58  (step t14 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t12 t13))
% 0.22/0.58  (step t15 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule implies_neg2)
% 0.22/0.58  (step t16 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule resolution :premises (t14 t15))
% 0.22/0.58  (step t17 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule contraction :premises (t16))
% 0.22/0.58  (step t18 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule implies :premises (t17))
% 0.22/0.58  (step t19 (cl (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t18 a10))
% 0.22/0.58  (step t20 (cl (not (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) :rule or_pos)
% 0.22/0.58  (step t21 (cl (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)) (not (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule reordering :premises (t20))
% 0.22/0.58  (step t22 (cl (=> (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t23)
% 0.22/0.58  (assume t23.a0 (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)))
% 0.22/0.58  (step t23.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X))) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b))) :rule forall_inst :args ((:= X tptp.b)))
% 0.22/0.58  (step t23.t2 (cl (not (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X))) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) :rule or :premises (t23.t1))
% 0.22/0.58  (step t23.t3 (cl (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) :rule resolution :premises (t23.t2 t23.a0))
% 0.22/0.58  (step t23 (cl (not (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X))) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) :rule subproof :discharge (t23.a0))
% 0.22/0.58  (step t24 (cl (=> (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) :rule resolution :premises (t22 t23))
% 0.22/0.58  (step t25 (cl (=> (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b))) :rule implies_neg2)
% 0.22/0.58  (step t26 (cl (=> (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (=> (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b))) :rule resolution :premises (t24 t25))
% 0.22/0.58  (step t27 (cl (=> (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b))) :rule contraction :premises (t26))
% 0.22/0.58  (step t28 (cl (not (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X))) (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) :rule implies :premises (t27))
% 0.22/0.58  (step t29 (cl (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) :rule resolution :premises (t28 a14))
% 0.22/0.58  (step t30 (cl (not (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) :rule or_pos)
% 0.22/0.58  (step t31 (cl (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b) (not (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)))) :rule reordering :premises (t30))
% 0.22/0.58  (step t32 (cl (not (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) :rule or_pos)
% 0.22/0.58  (step t33 (cl (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)) (not (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))))) :rule reordering :premises (t32))
% 0.22/0.58  (step t34 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y))))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t35)
% 0.22/0.58  (assume t35.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))))
% 0.22/0.58  (step t35.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y))))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))))) :rule forall_inst :args ((:= X tptp.b) (:= Y tptp.a)))
% 0.22/0.58  (step t35.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y))))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) :rule or :premises (t35.t1))
% 0.22/0.58  (step t35.t3 (cl (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t35.t2 t35.a0))
% 0.22/0.58  (step t35 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y))))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) :rule subproof :discharge (t35.a0))
% 0.22/0.58  (step t36 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t34 t35))
% 0.22/0.58  (step t37 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) (not (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))))) :rule implies_neg2)
% 0.22/0.58  (step t38 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))))) :rule resolution :premises (t36 t37))
% 0.22/0.58  (step t39 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))))) :rule contraction :premises (t38))
% 0.22/0.58  (step t40 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y))))) (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) :rule implies :premises (t39))
% 0.22/0.58  (step t41 (cl (or (not (tptp.defined tptp.b tptp.a)) (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t40 a0))
% 0.22/0.58  (step t42 (cl (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) :rule resolution :premises (t33 a18 t41))
% 0.22/0.58  (step t43 (cl (=> (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t44)
% 0.22/0.58  (assume t44.a0 (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)))
% 0.22/0.58  (step t44.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a)))) :rule forall_inst :args ((:= X (tptp.compose tptp.b tptp.a))))
% 0.22/0.58  (step t44.t2 (cl (not (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) :rule or :premises (t44.t1))
% 0.22/0.58  (step t44.t3 (cl (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) :rule resolution :premises (t44.t2 t44.a0))
% 0.22/0.58  (step t44 (cl (not (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) :rule subproof :discharge (t44.a0))
% 0.22/0.58  (step t45 (cl (=> (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) :rule resolution :premises (t43 t44))
% 0.22/0.58  (step t46 (cl (=> (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a)))) :rule implies_neg2)
% 0.22/0.58  (step t47 (cl (=> (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (=> (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t45 t46))
% 0.22/0.58  (step t48 (cl (=> (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a)))) :rule contraction :premises (t47))
% 0.22/0.58  (step t49 (cl (not (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) :rule implies :premises (t48))
% 0.22/0.58  (step t50 (cl (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) :rule resolution :premises (t49 a12))
% 0.22/0.58  (step t51 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t52)
% 0.22/0.58  (assume t52.a0 (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))))
% 0.22/0.58  (step t52.t1 (cl (or (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)))) :rule forall_inst :args ((:= Y tptp.b) (:= Z tptp.a) (:= Yz (tptp.compose tptp.b tptp.a)) (:= X (tptp.codomain (tptp.compose tptp.b tptp.a)))))
% 0.22/0.58  (step t52.t2 (cl (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) :rule or :premises (t52.t1))
% 0.22/0.58  (step t52.t3 (cl (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) :rule resolution :premises (t52.t2 t52.a0))
% 0.22/0.58  (step t52 (cl (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) :rule subproof :discharge (t52.a0))
% 0.22/0.58  (step t53 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) :rule resolution :premises (t51 t52))
% 0.22/0.58  (step t54 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) (not (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)))) :rule implies_neg2)
% 0.22/0.58  (step t55 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)))) :rule resolution :premises (t53 t54))
% 0.22/0.58  (step t56 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)))) :rule contraction :premises (t55))
% 0.22/0.58  (step t57 (cl (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) :rule implies :premises (t56))
% 0.22/0.58  (step t58 (cl (or (not (tptp.product tptp.b tptp.a (tptp.compose tptp.b tptp.a))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.compose tptp.b tptp.a))) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b))) :rule resolution :premises (t57 a5))
% 0.22/0.58  (step t59 (cl (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) :rule resolution :premises (t31 t42 t50 t58))
% 0.22/0.58  (step t60 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t61)
% 0.22/0.58  (assume t61.a0 (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))))
% 0.22/0.58  (step t61.t1 (cl (or (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule forall_inst :args ((:= Y (tptp.codomain tptp.b)) (:= Z tptp.b) (:= Yz tptp.b) (:= X (tptp.codomain (tptp.compose tptp.b tptp.a)))))
% 0.22/0.58  (step t61.t2 (cl (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule or :premises (t61.t1))
% 0.22/0.58  (step t61.t3 (cl (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule resolution :premises (t61.t2 t61.a0))
% 0.22/0.58  (step t61 (cl (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule subproof :discharge (t61.a0))
% 0.22/0.58  (step t62 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule resolution :premises (t60 t61))
% 0.22/0.58  (step t63 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (not (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule implies_neg2)
% 0.22/0.58  (step t64 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule resolution :premises (t62 t63))
% 0.22/0.58  (step t65 (cl (=> (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule contraction :premises (t64))
% 0.22/0.58  (step t66 (cl (not (forall ((Y $$unsorted) (Z $$unsorted) (Yz $$unsorted) (X $$unsorted)) (or (not (tptp.product Y Z Yz)) (not (tptp.defined X Yz)) (tptp.defined X Y)))) (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule implies :premises (t65))
% 0.22/0.58  (step t67 (cl (or (not (tptp.product (tptp.codomain tptp.b) tptp.b tptp.b)) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) tptp.b)) (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b)))) :rule resolution :premises (t66 a5))
% 0.22/0.58  (step t68 (cl (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) :rule resolution :premises (t21 t29 t59 t67))
% 0.22/0.58  (step t69 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t70)
% 0.22/0.58  (assume t70.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 0.22/0.58  (step t70.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))))) :rule forall_inst :args ((:= X (tptp.codomain (tptp.compose tptp.b tptp.a))) (:= Y (tptp.codomain tptp.b))))
% 0.22/0.58  (step t70.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) :rule or :premises (t70.t1))
% 0.22/0.58  (step t70.t3 (cl (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) :rule resolution :premises (t70.t2 t70.a0))
% 0.22/0.58  (step t70 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) :rule subproof :discharge (t70.a0))
% 0.22/0.58  (step t71 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) :rule resolution :premises (t69 t70))
% 0.22/0.58  (step t72 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) (not (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))))) :rule implies_neg2)
% 0.22/0.58  (step t73 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))))) :rule resolution :premises (t71 t72))
% 0.22/0.58  (step t74 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))))) :rule contraction :premises (t73))
% 0.22/0.58  (step t75 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) :rule implies :premises (t74))
% 0.22/0.58  (step t76 (cl (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain (tptp.compose tptp.b tptp.a)))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b)))) :rule resolution :premises (t75 a15))
% 0.22/0.58  (step t77 (cl (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) :rule resolution :premises (t11 t19 t68 t76))
% 0.22/0.58  (step t78 (cl (not (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule or_pos)
% 0.22/0.58  (step t79 (cl (not (tptp.identity_map (tptp.codomain tptp.b))) (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))) (not (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))))) :rule reordering :premises (t78))
% 0.22/0.58  (step t80 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.b))) (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t81)
% 0.22/0.58  (assume t81.a0 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 0.22/0.58  (step t81.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.b)))) :rule forall_inst :args ((:= X tptp.b)))
% 0.22/0.58  (step t81.t2 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.b))) :rule or :premises (t81.t1))
% 0.22/0.58  (step t81.t3 (cl (tptp.identity_map (tptp.codomain tptp.b))) :rule resolution :premises (t81.t2 t81.a0))
% 0.22/0.58  (step t81 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.b))) :rule subproof :discharge (t81.a0))
% 0.22/0.58  (step t82 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.b))) (tptp.identity_map (tptp.codomain tptp.b))) :rule resolution :premises (t80 t81))
% 0.22/0.58  (step t83 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b)))) :rule implies_neg2)
% 0.22/0.58  (step t84 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.b))) (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.b)))) :rule resolution :premises (t82 t83))
% 0.22/0.58  (step t85 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.b)))) :rule contraction :premises (t84))
% 0.22/0.58  (step t86 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.b))) :rule implies :premises (t85))
% 0.22/0.58  (step t87 (cl (tptp.identity_map (tptp.codomain tptp.b))) :rule resolution :premises (t86 a10))
% 0.22/0.58  (step t88 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X)))) :rule implies_neg1)
% 0.22/0.58  (anchor :step t89)
% 0.22/0.58  (assume t89.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))))
% 0.22/0.58  (step t89.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))))) :rule forall_inst :args ((:= X (tptp.codomain (tptp.compose tptp.b tptp.a))) (:= Y (tptp.codomain tptp.b))))
% 0.22/0.58  (step t89.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule or :premises (t89.t1))
% 0.22/0.58  (step t89.t3 (cl (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule resolution :premises (t89.t2 t89.a0))
% 0.22/0.58  (step t89 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule subproof :discharge (t89.a0))
% 0.22/0.58  (step t90 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule resolution :premises (t88 t89))
% 0.22/0.58  (step t91 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) (not (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))))) :rule implies_neg2)
% 0.22/0.58  (step t92 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))))) :rule resolution :premises (t90 t91))
% 0.22/0.58  (step t93 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))))) :rule contraction :premises (t92))
% 0.22/0.58  (step t94 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X)))) (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule implies :premises (t93))
% 0.22/0.58  (step t95 (cl (or (not (tptp.defined (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))) (not (tptp.identity_map (tptp.codomain tptp.b))) (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a))))) :rule resolution :premises (t94 a16))
% 0.22/0.58  (step t96 (cl (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) :rule resolution :premises (t79 t87 t68 t95))
% 0.22/0.58  (step t97 (cl (not (or (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain (tptp.compose tptp.b tptp.a)))) (not (tptp.product (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b) (tptp.codomain tptp.b))) (= (tptp.codomain (tptp.compose tptp.b tptp.a)) (tptp.codomain tptp.b))))) :rule resolution :premises (t9 a19 t77 t96))
% 0.22/0.58  (step t98 (cl) :rule resolution :premises (t7 t97 a17))
% 0.22/0.58  
% 0.22/0.58  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.azd9g4hSVA/cvc5---1.0.5_27742.smt2
% 0.22/0.58  % cvc5---1.0.5 exiting
% 0.22/0.58  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------