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

View Problem - Process Solution

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

% Computer : n018.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:55 EDT 2024

% Result   : Unsatisfiable 0.35s 0.54s
% Output   : Proof 0.35s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem    : CAT005-1 : TPTP v8.2.0. Released v1.0.0.
% 0.07/0.14  % Command    : do_cvc5 %s %d
% 0.14/0.35  % Computer : n018.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit   : 300
% 0.14/0.35  % WCLimit    : 300
% 0.14/0.35  % DateTime   : Sat May 25 20:33:24 EDT 2024
% 0.14/0.35  % CPUTime    : 
% 0.21/0.50  %----Proving TF0_NAR, FOF, or CNF
% 0.21/0.51  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.35/0.54  % SZS status Unsatisfiable for /export/starexec/sandbox/tmp/tmp.6CoPT5Mcz3/cvc5---1.0.5_13115.smt2
% 0.35/0.54  % SZS output start Proof for /export/starexec/sandbox/tmp/tmp.6CoPT5Mcz3/cvc5---1.0.5_13115.smt2
% 0.35/0.55  (assume a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (tptp.product X Y (tptp.compose X Y)))))
% 0.35/0.55  (assume a1 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.product X Y Z)) (tptp.defined X Y))))
% 0.35/0.55  (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.35/0.55  (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.35/0.55  (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.35/0.55  (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.35/0.55  (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.35/0.55  (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.35/0.55  (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.35/0.55  (assume a9 (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))))
% 0.35/0.55  (assume a10 (forall ((X $$unsorted)) (tptp.identity_map (tptp.codomain X))))
% 0.35/0.55  (assume a11 (forall ((X $$unsorted)) (tptp.defined X (tptp.domain X))))
% 0.35/0.55  (assume a12 (forall ((X $$unsorted)) (tptp.defined (tptp.codomain X) X)))
% 0.35/0.55  (assume a13 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 0.35/0.55  (assume a14 (forall ((X $$unsorted)) (tptp.product (tptp.codomain X) X X)))
% 0.35/0.55  (assume a15 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 0.35/0.55  (assume a16 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))))
% 0.35/0.55  (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.35/0.55  (assume a18 (tptp.defined tptp.a tptp.d))
% 0.35/0.55  (assume a19 (tptp.identity_map tptp.d))
% 0.35/0.55  (assume a20 (not (= (tptp.domain tptp.a) tptp.d)))
% 0.35/0.55  (step t1 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) (=> (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a)))))) (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d)))) (=> (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a))))) :rule equiv_pos2)
% 0.35/0.55  (step t2 (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))) (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 refl)
% 0.35/0.55  (step t3 (cl (= (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))))) :rule refl)
% 0.35/0.55  (step t4 (cl (= (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)))) :rule refl)
% 0.35/0.55  (step t5 (cl (= (= (tptp.domain tptp.a) tptp.d) (= tptp.d (tptp.domain tptp.a)))) :rule all_simplify)
% 0.35/0.55  (step t6 (cl (= (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d)) (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a))))) :rule cong :premises (t3 t4 t5))
% 0.35/0.55  (step t7 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) (=> (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a)))))) :rule cong :premises (t2 t6))
% 0.35/0.55  (step t8 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) (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.35/0.55  (anchor :step t9)
% 0.35/0.55  (assume t9.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.35/0.55  (step t9.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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d)))) :rule forall_inst :args ((:= X (tptp.domain tptp.a)) (:= Y tptp.d) (:= Z (tptp.domain tptp.a)) (:= W tptp.d)))
% 0.35/0.55  (step t9.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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) :rule or :premises (t9.t1))
% 0.35/0.55  (step t9.t3 (cl (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) :rule resolution :premises (t9.t2 t9.a0))
% 0.35/0.55  (step t9 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) :rule subproof :discharge (t9.a0))
% 0.35/0.55  (step t10 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) :rule resolution :premises (t8 t9))
% 0.35/0.55  (step t11 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) (not (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d)))) :rule implies_neg2)
% 0.35/0.55  (step t12 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d))) (=> (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d)))) :rule resolution :premises (t10 t11))
% 0.35/0.55  (step t13 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= (tptp.domain tptp.a) tptp.d)))) :rule contraction :premises (t12))
% 0.35/0.55  (step t14 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a))))) :rule resolution :premises (t1 t7 t13))
% 0.35/0.55  (step t15 (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.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a)))) :rule implies :premises (t14))
% 0.35/0.55  (step t16 (cl (not (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a)))) (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a))) :rule or_pos)
% 0.35/0.55  (step t17 (cl (= tptp.d (tptp.domain tptp.a)) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a))))) :rule reordering :premises (t16))
% 0.35/0.55  (step t18 (cl (not (= tptp.d (tptp.domain tptp.a)))) :rule not_symm :premises (a20))
% 0.35/0.55  (step t19 (cl (not (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) :rule or_pos)
% 0.35/0.55  (step t20 (cl (not (tptp.identity_map (tptp.domain tptp.a))) (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d) (not (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)))) :rule reordering :premises (t19))
% 0.35/0.55  (step t21 (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)
% 0.35/0.55  (anchor :step t22)
% 0.35/0.55  (assume t22.a0 (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))))
% 0.35/0.55  (step t22.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)))
% 0.35/0.55  (step t22.t2 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a))) :rule or :premises (t22.t1))
% 0.35/0.55  (step t22.t3 (cl (tptp.identity_map (tptp.domain tptp.a))) :rule resolution :premises (t22.t2 t22.a0))
% 0.35/0.55  (step t22 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a))) :rule subproof :discharge (t22.a0))
% 0.35/0.55  (step t23 (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 (t21 t22))
% 0.35/0.55  (step t24 (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)
% 0.35/0.55  (step t25 (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 (t23 t24))
% 0.35/0.55  (step t26 (cl (=> (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X))) (tptp.identity_map (tptp.domain tptp.a)))) :rule contraction :premises (t25))
% 0.35/0.55  (step t27 (cl (not (forall ((X $$unsorted)) (tptp.identity_map (tptp.domain X)))) (tptp.identity_map (tptp.domain tptp.a))) :rule implies :premises (t26))
% 0.35/0.55  (step t28 (cl (tptp.identity_map (tptp.domain tptp.a))) :rule resolution :premises (t27 a9))
% 0.35/0.55  (step t29 (cl (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d)) :rule or_pos)
% 0.35/0.55  (step t30 (cl (not (tptp.defined tptp.a tptp.d)) (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (tptp.defined (tptp.domain tptp.a) tptp.d) (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d)))) :rule reordering :premises (t29))
% 0.35/0.55  (step t31 (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)
% 0.35/0.55  (anchor :step t32)
% 0.35/0.55  (assume t32.a0 (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)))
% 0.35/0.55  (step t32.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)))
% 0.35/0.55  (step t32.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 (t32.t1))
% 0.35/0.55  (step t32.t3 (cl (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule resolution :premises (t32.t2 t32.a0))
% 0.35/0.55  (step t32 (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 (t32.a0))
% 0.35/0.55  (step t33 (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 (t31 t32))
% 0.35/0.55  (step t34 (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)
% 0.35/0.55  (step t35 (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 (t33 t34))
% 0.35/0.55  (step t36 (cl (=> (forall ((X $$unsorted)) (tptp.product X (tptp.domain X) X)) (tptp.product tptp.a (tptp.domain tptp.a) tptp.a))) :rule contraction :premises (t35))
% 0.35/0.55  (step t37 (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 (t36))
% 0.35/0.55  (step t38 (cl (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) :rule resolution :premises (t37 a13))
% 0.35/0.55  (step t39 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) (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)
% 0.35/0.55  (anchor :step t40)
% 0.35/0.55  (assume t40.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))))
% 0.35/0.55  (step t40.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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d)))) :rule forall_inst :args ((:= X tptp.a) (:= Y (tptp.domain tptp.a)) (:= Xy tptp.a) (:= Z tptp.d)))
% 0.35/0.55  (step t40.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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) :rule or :premises (t40.t1))
% 0.35/0.55  (step t40.t3 (cl (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) :rule resolution :premises (t40.t2 t40.a0))
% 0.35/0.55  (step t40 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) :rule subproof :discharge (t40.a0))
% 0.35/0.55  (step t41 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) :rule resolution :premises (t39 t40))
% 0.35/0.55  (step t42 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) (not (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d)))) :rule implies_neg2)
% 0.35/0.55  (step t43 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) (=> (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d)))) :rule resolution :premises (t41 t42))
% 0.35/0.55  (step t44 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d)))) :rule contraction :premises (t43))
% 0.35/0.55  (step t45 (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.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) :rule implies :premises (t44))
% 0.35/0.55  (step t46 (cl (or (not (tptp.product tptp.a (tptp.domain tptp.a) tptp.a)) (not (tptp.defined tptp.a tptp.d)) (tptp.defined (tptp.domain tptp.a) tptp.d))) :rule resolution :premises (t45 a2))
% 0.35/0.55  (step t47 (cl (tptp.defined (tptp.domain tptp.a) tptp.d)) :rule resolution :premises (t30 a18 t38 t46))
% 0.35/0.55  (step t48 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) (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.35/0.55  (anchor :step t49)
% 0.35/0.55  (assume t49.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map X)) (tptp.product X Y Y))))
% 0.35/0.55  (step t49.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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)))) :rule forall_inst :args ((:= X (tptp.domain tptp.a)) (:= Y tptp.d)))
% 0.35/0.55  (step t49.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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) :rule or :premises (t49.t1))
% 0.35/0.55  (step t49.t3 (cl (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) :rule resolution :premises (t49.t2 t49.a0))
% 0.35/0.55  (step t49 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) :rule subproof :discharge (t49.a0))
% 0.35/0.55  (step t50 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) :rule resolution :premises (t48 t49))
% 0.35/0.55  (step t51 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) (not (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)))) :rule implies_neg2)
% 0.35/0.55  (step t52 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) (=> (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)))) :rule resolution :premises (t50 t51))
% 0.35/0.55  (step t53 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)))) :rule contraction :premises (t52))
% 0.35/0.55  (step t54 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) :rule implies :premises (t53))
% 0.35/0.55  (step t55 (cl (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map (tptp.domain tptp.a))) (tptp.product (tptp.domain tptp.a) tptp.d tptp.d))) :rule resolution :premises (t54 a15))
% 0.35/0.55  (step t56 (cl (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) :rule resolution :premises (t20 t28 t47 t55))
% 0.35/0.55  (step t57 (cl (not (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) :rule or_pos)
% 0.35/0.55  (step t58 (cl (not (tptp.identity_map tptp.d)) (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)) (not (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))))) :rule reordering :premises (t57))
% 0.35/0.55  (step t59 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain 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.35/0.55  (anchor :step t60)
% 0.35/0.55  (assume t60.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.defined X Y)) (not (tptp.identity_map Y)) (tptp.product X Y X))))
% 0.35/0.55  (step t60.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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))))) :rule forall_inst :args ((:= X (tptp.domain tptp.a)) (:= Y tptp.d)))
% 0.35/0.55  (step t60.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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) :rule or :premises (t60.t1))
% 0.35/0.55  (step t60.t3 (cl (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) :rule resolution :premises (t60.t2 t60.a0))
% 0.35/0.55  (step t60 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) :rule subproof :discharge (t60.a0))
% 0.35/0.55  (step t61 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) :rule resolution :premises (t59 t60))
% 0.35/0.55  (step t62 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) (not (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))))) :rule implies_neg2)
% 0.35/0.55  (step t63 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain 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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))))) :rule resolution :premises (t61 t62))
% 0.35/0.55  (step t64 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))))) :rule contraction :premises (t63))
% 0.35/0.55  (step t65 (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.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) :rule implies :premises (t64))
% 0.35/0.55  (step t66 (cl (or (not (tptp.defined (tptp.domain tptp.a) tptp.d)) (not (tptp.identity_map tptp.d)) (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a)))) :rule resolution :premises (t65 a16))
% 0.35/0.55  (step t67 (cl (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) :rule resolution :premises (t58 a19 t47 t66))
% 0.35/0.55  (step t68 (cl (not (or (not (tptp.product (tptp.domain tptp.a) tptp.d (tptp.domain tptp.a))) (not (tptp.product (tptp.domain tptp.a) tptp.d tptp.d)) (= tptp.d (tptp.domain tptp.a))))) :rule resolution :premises (t17 t18 t56 t67))
% 0.35/0.55  (step t69 (cl) :rule resolution :premises (t15 t68 a17))
% 0.35/0.55  
% 0.35/0.55  % SZS output end Proof for /export/starexec/sandbox/tmp/tmp.6CoPT5Mcz3/cvc5---1.0.5_13115.smt2
% 0.35/0.55  % cvc5---1.0.5 exiting
% 0.35/0.56  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------