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

View Problem - Process Solution

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

% Computer : n029.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:36:54 EDT 2024

% Result   : Unsatisfiable 1.35s 1.56s
% Output   : Proof 1.35s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem    : CAT003-1 : TPTP v8.2.0. Released v1.0.0.
% 0.12/0.13  % Command    : do_cvc5 %s %d
% 0.12/0.34  % Computer : n029.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit   : 300
% 0.12/0.34  % WCLimit    : 300
% 0.12/0.34  % DateTime   : Sat May 25 20:39:39 EDT 2024
% 0.12/0.34  % CPUTime    : 
% 0.19/0.48  %----Proving TF0_NAR, FOF, or CNF
% 0.19/0.49  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 1.35/1.56  % SZS status Unsatisfiable for /export/starexec/sandbox2/tmp/tmp.jFzR3gRiYO/cvc5---1.0.5_31630.smt2
% 1.35/1.56  % SZS output start Proof for /export/starexec/sandbox2/tmp/tmp.jFzR3gRiYO/cvc5---1.0.5_31630.smt2
% 1.35/1.57  (assume a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))))
% 1.35/1.57  (assume a1 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))))
% 1.35/1.57  (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))))
% 1.35/1.57  (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))))
% 1.35/1.57  (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))))
% 1.35/1.57  (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))))
% 1.35/1.57  (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))))
% 1.35/1.57  (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))))
% 1.35/1.57  (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))))
% 1.35/1.57  (assume a9 (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))))
% 1.35/1.57  (assume a10 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 1.35/1.57  (assume a11 (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))))
% 1.35/1.57  (assume a12 (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)))
% 1.35/1.57  (assume a13 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 1.35/1.57  (assume a14 (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)))
% 1.35/1.57  (assume a15 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 1.35/1.57  (assume a16 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))))
% 1.35/1.57  (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))))
% 1.35/1.57  (assume a18 (tptp.product tptp.a tptp.b tptp.c))
% 1.35/1.57  (assume a19 (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))))
% 1.35/1.57  (assume a20 (tptp.product tptp.h tptp.a tptp.d))
% 1.35/1.57  (assume a21 (tptp.product tptp.g tptp.a tptp.d))
% 1.35/1.57  (assume a22 (not (= tptp.h tptp.g)))
% 1.35/1.57  (step t1 (cl (not (= (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g))))) (not (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h)))) (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g)))) :rule equiv_pos2)
% 1.35/1.57  (step t2 (cl (= (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))))) :rule refl)
% 1.35/1.57  (step t3 (cl (= (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))))) :rule refl)
% 1.35/1.57  (step t4 (cl (= (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))))) :rule refl)
% 1.35/1.57  (step t5 (cl (= (= tptp.g tptp.h) (= tptp.h tptp.g))) :rule all_simplify)
% 1.35/1.57  (step t6 (cl (= (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h)) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g)))) :rule cong :premises (t3 t4 t5))
% 1.35/1.57  (step t7 (cl (= (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g))))) :rule cong :premises (t2 t6))
% 1.35/1.57  (step t8 (cl (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t9)
% 1.35/1.57  (assume t9.a0 (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))))
% 1.35/1.57  (step t9.t1 (cl (or (not (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y)))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h)))) :rule forall_inst :args ((:= X tptp.g) (:= W (tptp.compose tptp.d tptp.b)) (:= Y tptp.h)))
% 1.35/1.57  (step t9.t2 (cl (not (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y)))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) :rule or :premises (t9.t1))
% 1.35/1.57  (step t9.t3 (cl (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) :rule resolution :premises (t9.t2 t9.a0))
% 1.35/1.57  (step t9 (cl (not (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y)))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) :rule subproof :discharge (t9.a0))
% 1.35/1.57  (step t10 (cl (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) :rule resolution :premises (t8 t9))
% 1.35/1.57  (step t11 (cl (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) (not (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h)))) :rule implies_neg2)
% 1.35/1.57  (step t12 (cl (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h))) (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h)))) :rule resolution :premises (t10 t11))
% 1.35/1.57  (step t13 (cl (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.g tptp.h)))) :rule contraction :premises (t12))
% 1.35/1.57  (step t14 (cl (=> (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g)))) :rule resolution :premises (t1 t7 t13))
% 1.35/1.57  (step t15 (cl (not (forall ((X $$unsorted) (W $$unsorted) (Y $$unsorted)) (or (not (tptp.product X tptp.c W)) (not (tptp.product Y tptp.c W)) (= X Y)))) (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g))) :rule implies :premises (t14))
% 1.35/1.57  (step t16 (cl (not (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g))) (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g)) :rule or_pos)
% 1.35/1.57  (step t17 (cl (= tptp.h tptp.g) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g)))) :rule reordering :premises (t16))
% 1.35/1.57  (step t18 (cl (not (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) :rule or_pos)
% 1.35/1.57  (step t19 (cl (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)) (not (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))))) :rule reordering :premises (t18))
% 1.35/1.57  (step t20 (cl (not (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) :rule or_pos)
% 1.35/1.57  (step t21 (cl (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)) (not (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))))) :rule reordering :premises (t20))
% 1.35/1.57  (step t22 (cl (not (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b)) :rule or_pos)
% 1.35/1.57  (step t23 (cl (tptp.defined tptp.d tptp.b) (not (tptp.identity_map (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b)))) :rule reordering :premises (t22))
% 1.35/1.57  (step t24 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a))) (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t25)
% 1.35/1.57  (assume t25.a0 (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))))
% 1.35/1.57  (step t25.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a)))) :rule forall_inst :args ((:= X tptp.a)))
% 1.35/1.57  (step t25.t2 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a))) :rule or :premises (t25.t1))
% 1.35/1.57  (step t25.t3 (cl (tptp.identity_map (tptp.domain tptp.a))) :rule resolution :premises (t25.t2 t25.a0))
% 1.35/1.57  (step t25 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a))) :rule subproof :discharge (t25.a0))
% 1.35/1.57  (step t26 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a))) (tptp.identity_map (tptp.domain tptp.a))) :rule resolution :premises (t24 t25))
% 1.35/1.57  (step t27 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a))) (not (tptp.identity_map (tptp.domain tptp.a)))) :rule implies_neg2)
% 1.35/1.57  (step t28 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a))) (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a)))) :rule resolution :premises (t26 t27))
% 1.35/1.57  (step t29 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a)))) :rule contraction :premises (t28))
% 1.35/1.57  (step t30 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a))) :rule implies :premises (t29))
% 1.35/1.57  (step t31 (cl (tptp.identity_map (tptp.domain tptp.a))) :rule resolution :premises (t30 a9))
% 1.35/1.57  (step t32 (cl (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b)) :rule or_pos)
% 1.35/1.57  (step t33 (cl (not (tptp.defined tptp.a tptp.b)) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (tptp.defined (tptp.domain tptp.a) tptp.b) (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b)))) :rule reordering :premises (t32))
% 1.35/1.57  (step t34 (cl (not (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b)) :rule or_pos)
% 1.35/1.57  (step t35 (cl (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b) (not (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b)))) :rule reordering :premises (t34))
% 1.35/1.57  (step t36 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t37)
% 1.35/1.57  (assume t37.a0 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))))
% 1.35/1.57  (step t37.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b)))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.b) (:= Z tptp.c)))
% 1.35/1.57  (step t37.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) :rule or :premises (t37.t1))
% 1.35/1.57  (step t37.t3 (cl (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) :rule resolution :premises (t37.t2 t37.a0))
% 1.35/1.57  (step t37 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) :rule subproof :discharge (t37.a0))
% 1.35/1.57  (step t38 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) :rule resolution :premises (t36 t37))
% 1.35/1.57  (step t39 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) (not (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b)))) :rule implies_neg2)
% 1.35/1.57  (step t40 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b)))) :rule resolution :premises (t38 t39))
% 1.35/1.57  (step t41 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b)))) :rule contraction :premises (t40))
% 1.35/1.57  (step t42 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) :rule implies :premises (t41))
% 1.35/1.57  (step t43 (cl (or (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.defined tptp.a tptp.b))) :rule resolution :premises (t42 a1))
% 1.35/1.57  (step t44 (cl (tptp.defined tptp.a tptp.b)) :rule resolution :premises (t35 a18 t43))
% 1.35/1.57  (step t45 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t46)
% 1.35/1.57  (assume t46.a0 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 1.35/1.57  (step t46.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a))) :rule forall_inst :args ((:= X tptp.a)))
% 1.35/1.57  (step t46.t2 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule or :premises (t46.t1))
% 1.35/1.57  (step t46.t3 (cl (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule resolution :premises (t46.t2 t46.a0))
% 1.35/1.57  (step t46 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule subproof :discharge (t46.a0))
% 1.35/1.57  (step t47 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule resolution :premises (t45 t46))
% 1.35/1.57  (step t48 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a))) :rule implies_neg2)
% 1.35/1.57  (step t49 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a))) :rule resolution :premises (t47 t48))
% 1.35/1.57  (step t50 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a))) :rule contraction :premises (t49))
% 1.35/1.57  (step t51 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule implies :premises (t50))
% 1.35/1.57  (step t52 (cl (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule resolution :premises (t51 a13))
% 1.35/1.57  (step t53 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) (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)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t54)
% 1.35/1.57  (assume t54.a0 (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))))
% 1.35/1.57  (step t54.t1 (cl (or (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b)))) :rule forall_inst :args ((:= X tptp.a) (:= Y (tptp.domain tptp.a)) (:= Xy tptp.a) (:= Z tptp.b)))
% 1.35/1.57  (step t54.t2 (cl (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) :rule or :premises (t54.t1))
% 1.35/1.57  (step t54.t3 (cl (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) :rule resolution :premises (t54.t2 t54.a0))
% 1.35/1.57  (step t54 (cl (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) :rule subproof :discharge (t54.a0))
% 1.35/1.57  (step t55 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) :rule resolution :premises (t53 t54))
% 1.35/1.57  (step t56 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b)))) :rule implies_neg2)
% 1.35/1.57  (step t57 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b)))) :rule resolution :premises (t55 t56))
% 1.35/1.57  (step t58 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b)))) :rule contraction :premises (t57))
% 1.35/1.57  (step t59 (cl (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) :rule implies :premises (t58))
% 1.35/1.57  (step t60 (cl (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.b)) (tptp.defined (tptp.domain tptp.a) tptp.b))) :rule resolution :premises (t59 a2))
% 1.35/1.57  (step t61 (cl (tptp.defined (tptp.domain tptp.a) tptp.b)) :rule resolution :premises (t33 t44 t52 t60))
% 1.35/1.57  (step t62 (cl (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a))) :rule or_pos)
% 1.35/1.57  (step t63 (cl (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)) (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a))))) :rule reordering :premises (t62))
% 1.35/1.57  (step t64 (cl (not (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a)) :rule or_pos)
% 1.35/1.57  (step t65 (cl (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a) (not (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a)))) :rule reordering :premises (t64))
% 1.35/1.57  (step t66 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t67)
% 1.35/1.57  (assume t67.a0 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))))
% 1.35/1.57  (step t67.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a)))) :rule forall_inst :args ((:= X tptp.h) (:= Y tptp.a) (:= Z tptp.d)))
% 1.35/1.57  (step t67.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) :rule or :premises (t67.t1))
% 1.35/1.57  (step t67.t3 (cl (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) :rule resolution :premises (t67.t2 t67.a0))
% 1.35/1.57  (step t67 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) :rule subproof :discharge (t67.a0))
% 1.35/1.57  (step t68 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) :rule resolution :premises (t66 t67))
% 1.35/1.57  (step t69 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) (not (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a)))) :rule implies_neg2)
% 1.35/1.57  (step t70 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a)))) :rule resolution :premises (t68 t69))
% 1.35/1.57  (step t71 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a)))) :rule contraction :premises (t70))
% 1.35/1.57  (step t72 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) :rule implies :premises (t71))
% 1.35/1.57  (step t73 (cl (or (not (tptp.product tptp.h tptp.a tptp.d)) (tptp.defined tptp.h tptp.a))) :rule resolution :premises (t72 a1))
% 1.35/1.57  (step t74 (cl (tptp.defined tptp.h tptp.a)) :rule resolution :premises (t65 a20 t73))
% 1.35/1.57  (step t75 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) (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)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t76)
% 1.35/1.57  (assume t76.a0 (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))))
% 1.35/1.57  (step t76.t1 (cl (or (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a))))) :rule forall_inst :args ((:= Y tptp.a) (:= Z (tptp.domain tptp.a)) (:= Yz tptp.a) (:= X tptp.h) (:= Xy tptp.d)))
% 1.35/1.57  (step t76.t2 (cl (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) :rule or :premises (t76.t1))
% 1.35/1.57  (step t76.t3 (cl (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) :rule resolution :premises (t76.t2 t76.a0))
% 1.35/1.57  (step t76 (cl (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) :rule subproof :discharge (t76.a0))
% 1.35/1.57  (step t77 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) :rule resolution :premises (t75 t76))
% 1.35/1.57  (step t78 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a))))) :rule implies_neg2)
% 1.35/1.57  (step t79 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a))))) :rule resolution :premises (t77 t78))
% 1.35/1.57  (step t80 (cl (=> (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))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a))))) :rule contraction :premises (t79))
% 1.35/1.57  (step t81 (cl (not (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)))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) :rule implies :premises (t80))
% 1.35/1.57  (step t82 (cl (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.defined tptp.h tptp.a)) (tptp.defined tptp.d (tptp.domain tptp.a)))) :rule resolution :premises (t81 a6))
% 1.35/1.57  (step t83 (cl (tptp.defined tptp.d (tptp.domain tptp.a))) :rule resolution :premises (t63 a20 t74 t52 t82))
% 1.35/1.57  (step t84 (cl (=> (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))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) (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)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t85)
% 1.35/1.57  (assume t85.a0 (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))))
% 1.35/1.57  (step t85.t1 (cl (or (not (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)))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b)))) :rule forall_inst :args ((:= X tptp.d) (:= Y (tptp.domain tptp.a)) (:= Z tptp.b)))
% 1.35/1.57  (step t85.t2 (cl (not (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)))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) :rule or :premises (t85.t1))
% 1.35/1.57  (step t85.t3 (cl (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) :rule resolution :premises (t85.t2 t85.a0))
% 1.35/1.57  (step t85 (cl (not (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)))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) :rule subproof :discharge (t85.a0))
% 1.35/1.57  (step t86 (cl (=> (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))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) :rule resolution :premises (t84 t85))
% 1.35/1.57  (step t87 (cl (=> (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))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) (not (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b)))) :rule implies_neg2)
% 1.35/1.57  (step t88 (cl (=> (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))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) (=> (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))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b)))) :rule resolution :premises (t86 t87))
% 1.35/1.57  (step t89 (cl (=> (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))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b)))) :rule contraction :premises (t88))
% 1.35/1.57  (step t90 (cl (not (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)))) (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) :rule implies :premises (t89))
% 1.35/1.57  (step t91 (cl (or (not (tptp.defined tptp.d (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.b)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.defined tptp.d tptp.b))) :rule resolution :premises (t90 a8))
% 1.35/1.57  (step t92 (cl (tptp.defined tptp.d tptp.b)) :rule resolution :premises (t23 t31 t61 t83 t91))
% 1.35/1.57  (step t93 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y))))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t94)
% 1.35/1.57  (assume t94.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))))
% 1.35/1.57  (step t94.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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))))) :rule forall_inst :args ((:= X tptp.d) (:= Y tptp.b)))
% 1.35/1.57  (step t94.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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) :rule or :premises (t94.t1))
% 1.35/1.57  (step t94.t3 (cl (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t94.t2 t94.a0))
% 1.35/1.57  (step t94 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) :rule subproof :discharge (t94.a0))
% 1.35/1.57  (step t95 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t93 t94))
% 1.35/1.57  (step t96 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) (not (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))))) :rule implies_neg2)
% 1.35/1.57  (step t97 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))) (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))))) :rule resolution :premises (t95 t96))
% 1.35/1.57  (step t98 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))))) :rule contraction :premises (t97))
% 1.35/1.57  (step t99 (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.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) :rule implies :premises (t98))
% 1.35/1.57  (step t100 (cl (or (not (tptp.defined tptp.d tptp.b)) (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t99 a0))
% 1.35/1.57  (step t101 (cl (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) :rule resolution :premises (t21 t92 t100))
% 1.35/1.57  (step t102 (cl (=> (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))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) (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)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t103)
% 1.35/1.57  (assume t103.a0 (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))))
% 1.35/1.57  (step t103.t1 (cl (or (not (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)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))))) :rule forall_inst :args ((:= X tptp.h) (:= Y tptp.a) (:= Xy tptp.d) (:= Z tptp.b) (:= Xyz (tptp.compose tptp.d tptp.b)) (:= Yz tptp.c)))
% 1.35/1.57  (step t103.t2 (cl (not (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)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) :rule or :premises (t103.t1))
% 1.35/1.57  (step t103.t3 (cl (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t103.t2 t103.a0))
% 1.35/1.57  (step t103 (cl (not (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)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) :rule subproof :discharge (t103.a0))
% 1.35/1.57  (step t104 (cl (=> (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))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t102 t103))
% 1.35/1.57  (step t105 (cl (=> (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))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) (not (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))))) :rule implies_neg2)
% 1.35/1.57  (step t106 (cl (=> (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))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) (=> (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))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))))) :rule resolution :premises (t104 t105))
% 1.35/1.57  (step t107 (cl (=> (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))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))))) :rule contraction :premises (t106))
% 1.35/1.57  (step t108 (cl (not (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)))) (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) :rule implies :premises (t107))
% 1.35/1.57  (step t109 (cl (or (not (tptp.product tptp.h tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t108 a4))
% 1.35/1.57  (step t110 (cl (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) :rule resolution :premises (t19 a18 a20 t101 t109))
% 1.35/1.57  (step t111 (cl (not (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) :rule or_pos)
% 1.35/1.57  (step t112 (cl (not (tptp.product tptp.a tptp.b tptp.c)) (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)) (not (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))))) :rule reordering :premises (t111))
% 1.35/1.57  (step t113 (cl (=> (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))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) (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)))) :rule implies_neg1)
% 1.35/1.57  (anchor :step t114)
% 1.35/1.57  (assume t114.a0 (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))))
% 1.35/1.57  (step t114.t1 (cl (or (not (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)))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))))) :rule forall_inst :args ((:= X tptp.g) (:= Y tptp.a) (:= Xy tptp.d) (:= Z tptp.b) (:= Xyz (tptp.compose tptp.d tptp.b)) (:= Yz tptp.c)))
% 1.35/1.57  (step t114.t2 (cl (not (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)))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) :rule or :premises (t114.t1))
% 1.35/1.57  (step t114.t3 (cl (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t114.t2 t114.a0))
% 1.35/1.57  (step t114 (cl (not (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)))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) :rule subproof :discharge (t114.a0))
% 1.35/1.57  (step t115 (cl (=> (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))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t113 t114))
% 1.35/1.57  (step t116 (cl (=> (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))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) (not (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))))) :rule implies_neg2)
% 1.35/1.57  (step t117 (cl (=> (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))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) (=> (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))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))))) :rule resolution :premises (t115 t116))
% 1.35/1.57  (step t118 (cl (=> (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))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))))) :rule contraction :premises (t117))
% 1.35/1.57  (step t119 (cl (not (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)))) (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) :rule implies :premises (t118))
% 1.35/1.57  (step t120 (cl (or (not (tptp.product tptp.g tptp.a tptp.d)) (not (tptp.product tptp.d tptp.b (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.a tptp.b tptp.c)) (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b)))) :rule resolution :premises (t119 a4))
% 1.35/1.57  (step t121 (cl (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) :rule resolution :premises (t112 a18 a21 t101 t120))
% 1.35/1.57  (step t122 (cl (not (or (not (tptp.product tptp.g tptp.c (tptp.compose tptp.d tptp.b))) (not (tptp.product tptp.h tptp.c (tptp.compose tptp.d tptp.b))) (= tptp.h tptp.g)))) :rule resolution :premises (t17 a22 t110 t121))
% 1.35/1.57  (step t123 (cl) :rule resolution :premises (t15 t122 a19))
% 1.35/1.57  
% 1.35/1.58  % SZS output end Proof for /export/starexec/sandbox2/tmp/tmp.jFzR3gRiYO/cvc5---1.0.5_31630.smt2
% 1.35/1.58  % cvc5---1.0.5 exiting
% 1.35/1.58  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------