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

View Problem - Process Solution

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

% Computer : n032.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:01 EDT 2024

% Result   : Unsatisfiable 0.13s 0.41s
% Output   : Proof 0.13s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.08/0.09  % Problem    : CAT013-1 : TPTP v8.2.0. Released v1.0.0.
% 0.08/0.10  % Command    : do_cvc5 %s %d
% 0.09/0.29  % Computer : n032.cluster.edu
% 0.09/0.29  % Model    : x86_64 x86_64
% 0.09/0.29  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.29  % Memory   : 8042.1875MB
% 0.09/0.29  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.09/0.29  % CPULimit   : 300
% 0.09/0.29  % WCLimit    : 300
% 0.09/0.29  % DateTime   : Sat May 25 20:49:08 EDT 2024
% 0.09/0.29  % CPUTime    : 
% 0.13/0.39  %----Proving TF0_NAR, FOF, or CNF
% 0.13/0.39  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.13/0.41  % SZS status Unsatisfiable for /export/starexec/sandbox2/tmp/tmp.PMuokbXgxt/cvc5---1.0.5_24121.smt2
% 0.13/0.41  % SZS output start Proof for /export/starexec/sandbox2/tmp/tmp.PMuokbXgxt/cvc5---1.0.5_24121.smt2
% 0.13/0.41  (assume a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))))
% 0.13/0.41  (assume a1 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))))
% 0.13/0.41  (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.13/0.41  (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.13/0.41  (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.13/0.41  (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.13/0.41  (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.13/0.41  (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.13/0.41  (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.13/0.41  (assume a9 (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))))
% 0.13/0.41  (assume a10 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 0.13/0.41  (assume a11 (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))))
% 0.13/0.41  (assume a12 (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)))
% 0.13/0.41  (assume a13 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 0.13/0.41  (assume a14 (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)))
% 0.13/0.41  (assume a15 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 0.13/0.41  (assume a16 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))))
% 0.13/0.41  (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.13/0.41  (assume a18 (not (= (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) (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.13/0.41  (anchor :step t2)
% 0.13/0.41  (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.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))))) :rule forall_inst :args ((:= X (tptp.codomain tptp.a)) (:= Y (tptp.domain (tptp.codomain tptp.a))) (:= Z (tptp.codomain tptp.a)) (:= W (tptp.domain (tptp.codomain tptp.a)))))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule or :premises (t2.t1))
% 0.13/0.41  (step t2.t3 (cl (or (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule resolution :premises (t2.t2 t2.a0))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule subproof :discharge (t2.a0))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) (or (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule resolution :premises (t1 t2))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) (not (or (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))))) :rule implies_neg2)
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) (=> (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))))) :rule resolution :premises (t3 t4))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))))) :rule contraction :premises (t5))
% 0.13/0.41  (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.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule implies :premises (t6))
% 0.13/0.41  (step t8 (cl (not (or (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule or_pos)
% 0.13/0.41  (step t9 (cl (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (not (or (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))))) :rule reordering :premises (t8))
% 0.13/0.41  (step t10 (cl (not (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule not_symm :premises (a18))
% 0.13/0.41  (step t11 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) :rule implies_neg1)
% 0.13/0.41  (anchor :step t12)
% 0.13/0.41  (assume t12.a0 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 0.13/0.41  (step t12.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a)))) :rule forall_inst :args ((:= X (tptp.codomain tptp.a))))
% 0.13/0.41  (step t12.t2 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) :rule or :premises (t12.t1))
% 0.13/0.41  (step t12.t3 (cl (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) :rule resolution :premises (t12.t2 t12.a0))
% 0.13/0.41  (step t12 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) :rule subproof :discharge (t12.a0))
% 0.13/0.41  (step t13 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) :rule resolution :premises (t11 t12))
% 0.13/0.41  (step t14 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a)))) :rule implies_neg2)
% 0.13/0.41  (step t15 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a)))) :rule resolution :premises (t13 t14))
% 0.13/0.41  (step t16 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a)))) :rule contraction :premises (t15))
% 0.13/0.41  (step t17 (cl (not (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) :rule implies :premises (t16))
% 0.13/0.41  (step t18 (cl (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) :rule resolution :premises (t17 a13))
% 0.13/0.41  (step t19 (cl (not (or (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) :rule or_pos)
% 0.13/0.41  (step t20 (cl (not (tptp.identity_map (tptp.codomain tptp.a))) (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))) (not (or (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))))) :rule reordering :premises (t19))
% 0.13/0.41  (step t21 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.a))) (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) :rule implies_neg1)
% 0.13/0.41  (anchor :step t22)
% 0.13/0.41  (assume t22.a0 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 0.13/0.41  (step t22.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.a)))) :rule forall_inst :args ((:= X tptp.a)))
% 0.13/0.41  (step t22.t2 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.a))) :rule or :premises (t22.t1))
% 0.13/0.41  (step t22.t3 (cl (tptp.identity_map (tptp.codomain tptp.a))) :rule resolution :premises (t22.t2 t22.a0))
% 0.13/0.41  (step t22 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.a))) :rule subproof :discharge (t22.a0))
% 0.13/0.41  (step t23 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.a))) (tptp.identity_map (tptp.codomain tptp.a))) :rule resolution :premises (t21 t22))
% 0.13/0.41  (step t24 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.a))) (not (tptp.identity_map (tptp.codomain tptp.a)))) :rule implies_neg2)
% 0.13/0.41  (step t25 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.a))) (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.a)))) :rule resolution :premises (t23 t24))
% 0.13/0.41  (step t26 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))) (tptp.identity_map (tptp.codomain tptp.a)))) :rule contraction :premises (t25))
% 0.13/0.41  (step t27 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X)))) (tptp.identity_map (tptp.codomain tptp.a))) :rule implies :premises (t26))
% 0.13/0.41  (step t28 (cl (tptp.identity_map (tptp.codomain tptp.a))) :rule resolution :premises (t27 a10))
% 0.13/0.41  (step t29 (cl (=> (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X)))) :rule implies_neg1)
% 0.13/0.41  (anchor :step t30)
% 0.13/0.41  (assume t30.a0 (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))))
% 0.13/0.41  (step t30.t1 (cl (or (not (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X)))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule forall_inst :args ((:= X (tptp.codomain tptp.a))))
% 0.13/0.41  (step t30.t2 (cl (not (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X)))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule or :premises (t30.t1))
% 0.13/0.41  (step t30.t3 (cl (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule resolution :premises (t30.t2 t30.a0))
% 0.13/0.41  (step t30 (cl (not (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X)))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule subproof :discharge (t30.a0))
% 0.13/0.41  (step t31 (cl (=> (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule resolution :premises (t29 t30))
% 0.13/0.41  (step t32 (cl (=> (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule implies_neg2)
% 0.13/0.41  (step t33 (cl (=> (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (=> (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule resolution :premises (t31 t32))
% 0.13/0.41  (step t34 (cl (=> (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a))))) :rule contraction :premises (t33))
% 0.13/0.41  (step t35 (cl (not (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X)))) (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule implies :premises (t34))
% 0.13/0.41  (step t36 (cl (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) :rule resolution :premises (t35 a11))
% 0.13/0.41  (step t37 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) (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.13/0.41  (anchor :step t38)
% 0.13/0.41  (assume t38.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 0.13/0.41  (step t38.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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))))) :rule forall_inst :args ((:= X (tptp.codomain tptp.a)) (:= Y (tptp.domain (tptp.codomain tptp.a)))))
% 0.13/0.41  (step t38.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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) :rule or :premises (t38.t1))
% 0.13/0.41  (step t38.t3 (cl (or (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) :rule resolution :premises (t38.t2 t38.a0))
% 0.13/0.41  (step t38 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) :rule subproof :discharge (t38.a0))
% 0.13/0.41  (step t39 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) (or (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) :rule resolution :premises (t37 t38))
% 0.13/0.41  (step t40 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) (not (or (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))))) :rule implies_neg2)
% 0.13/0.41  (step t41 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) (=> (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))))) :rule resolution :premises (t39 t40))
% 0.13/0.41  (step t42 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))))) :rule contraction :premises (t41))
% 0.13/0.41  (step t43 (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.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) :rule implies :premises (t42))
% 0.13/0.41  (step t44 (cl (or (not (tptp.defined (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))) (not (tptp.identity_map (tptp.codomain tptp.a))) (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a))))) :rule resolution :premises (t43 a15))
% 0.13/0.41  (step t45 (cl (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) :rule resolution :premises (t20 t28 t36 t44))
% 0.13/0.41  (step t46 (cl (not (or (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.codomain tptp.a))) (not (tptp.product (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)) (tptp.domain (tptp.codomain tptp.a)))) (= (tptp.codomain tptp.a) (tptp.domain (tptp.codomain tptp.a)))))) :rule resolution :premises (t9 t10 t18 t45))
% 0.13/0.41  (step t47 (cl) :rule resolution :premises (t7 t46 a17))
% 0.13/0.41  
% 0.13/0.41  % SZS output end Proof for /export/starexec/sandbox2/tmp/tmp.PMuokbXgxt/cvc5---1.0.5_24121.smt2
% 0.13/0.41  % cvc5---1.0.5 exiting
% 0.13/0.42  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------