TSTP Solution File: PUZ130_1 by cvc5---1.0.5
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : cvc5---1.0.5
% Problem : PUZ130_1 : TPTP v8.2.0. Released v5.5.0.
% Transfm : none
% Format : tptp:raw
% Command : do_cvc5 %s %d
% Computer : n021.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 17:39:28 EDT 2024
% Result : Theorem 0.20s 0.52s
% Output : Proof 0.20s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.13 % Problem : PUZ130_1 : TPTP v8.2.0. Released v5.5.0.
% 0.13/0.14 % Command : do_cvc5 %s %d
% 0.13/0.35 % Computer : n021.cluster.edu
% 0.13/0.35 % Model : x86_64 x86_64
% 0.13/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35 % Memory : 8042.1875MB
% 0.13/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35 % CPULimit : 300
% 0.13/0.35 % WCLimit : 300
% 0.13/0.35 % DateTime : Sat May 25 19:59:39 EDT 2024
% 0.13/0.35 % CPUTime :
% 0.20/0.49 %----Proving TF0_NAR, FOF, or CNF
% 0.20/0.52 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.20/0.52 % SZS status Theorem for /export/starexec/sandbox2/tmp/tmp.IL2mgI6UFX/cvc5---1.0.5_3717.smt2
% 0.20/0.52 % SZS output start Proof for /export/starexec/sandbox2/tmp/tmp.IL2mgI6UFX/cvc5---1.0.5_3717.smt2
% 0.20/0.52 (assume a0 (forall ((A tptp.animal)) (exists ((H tptp.human)) (= H (tptp.owner_of A)))))
% 0.20/0.52 (assume a1 (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))))
% 0.20/0.52 (assume a2 (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))
% 0.20/0.52 (assume a3 (forall ((A tptp.animal)) (=> (= tptp.jon (tptp.owner_of A)) (or (= A (tptp.cat_to_animal tptp.garfield)) (= A (tptp.dog_to_animal tptp.odie))))))
% 0.20/0.52 (assume a4 (forall ((C tptp.cat) (D tptp.dog)) (=> (tptp.chased D C) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))))
% 0.20/0.52 (assume a5 (tptp.chased tptp.odie tptp.garfield))
% 0.20/0.52 (assume a6 (not (tptp.hates tptp.jon tptp.jon)))
% 0.20/0.52 (assume a7 true)
% 0.20/0.52 (step t1 (cl (=> (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) :rule implies_neg1)
% 0.20/0.52 (anchor :step t2)
% 0.20/0.52 (assume t2.a0 (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))))
% 0.20/0.52 (step t2.t1 (cl (or (not (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule forall_inst :args ((:= C tptp.garfield) (:= D tptp.odie)))
% 0.20/0.52 (step t2.t2 (cl (not (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule or :premises (t2.t1))
% 0.20/0.52 (step t2.t3 (cl (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t2.t2 t2.a0))
% 0.20/0.52 (step t2 (cl (not (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule subproof :discharge (t2.a0))
% 0.20/0.52 (step t3 (cl (=> (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t1 t2))
% 0.20/0.52 (step t4 (cl (=> (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule implies_neg2)
% 0.20/0.52 (step t5 (cl (=> (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (=> (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t3 t4))
% 0.20/0.52 (step t6 (cl (=> (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule contraction :premises (t5))
% 0.20/0.52 (step t7 (cl (not (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule implies :premises (t6))
% 0.20/0.52 (step t8 (cl (not (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) :rule or_pos)
% 0.20/0.52 (step t9 (cl (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule reordering :premises (t8))
% 0.20/0.52 (step t10 (cl (not (= (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (tptp.hates tptp.jon tptp.jon) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))))) (not (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (tptp.hates tptp.jon tptp.jon) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule equiv_pos2)
% 0.20/0.52 (step t11 (cl (= (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))))) :rule refl)
% 0.20/0.52 (step t12 (cl (= (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule refl)
% 0.20/0.52 (step t13 (cl (= (= (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon)) true) (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon)))) :rule equiv_simplify)
% 0.20/0.52 (step t14 (cl (not (= (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon)) true)) (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon))) :rule equiv1 :premises (t13))
% 0.20/0.52 (step t15 (cl (= (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon)) (= (tptp.hates tptp.jon tptp.jon) (not (not (tptp.hates tptp.jon tptp.jon)))))) :rule all_simplify)
% 0.20/0.52 (step t16 (cl (= (tptp.hates tptp.jon tptp.jon) (tptp.hates tptp.jon tptp.jon))) :rule refl)
% 0.20/0.52 (step t17 (cl (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon))) :rule all_simplify)
% 0.20/0.52 (step t18 (cl (= (= (tptp.hates tptp.jon tptp.jon) (not (not (tptp.hates tptp.jon tptp.jon)))) (= (tptp.hates tptp.jon tptp.jon) (tptp.hates tptp.jon tptp.jon)))) :rule cong :premises (t16 t17))
% 0.20/0.52 (step t19 (cl (= (= (tptp.hates tptp.jon tptp.jon) (tptp.hates tptp.jon tptp.jon)) true)) :rule all_simplify)
% 0.20/0.52 (step t20 (cl (= (= (tptp.hates tptp.jon tptp.jon) (not (not (tptp.hates tptp.jon tptp.jon)))) true)) :rule trans :premises (t18 t19))
% 0.20/0.52 (step t21 (cl (= (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon)) true)) :rule trans :premises (t15 t20))
% 0.20/0.52 (step t22 (cl (= (not (not (tptp.hates tptp.jon tptp.jon))) (tptp.hates tptp.jon tptp.jon))) :rule resolution :premises (t14 t21))
% 0.20/0.52 (step t23 (cl (= (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule refl)
% 0.20/0.52 (step t24 (cl (= (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (tptp.hates tptp.jon tptp.jon) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))))) :rule cong :premises (t11 t12 t22 t23))
% 0.20/0.52 (step t25 (cl (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon)))) :rule and_neg)
% 0.20/0.52 (step t26 (cl (=> (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) :rule implies_neg1)
% 0.20/0.52 (anchor :step t27)
% 0.20/0.52 (assume t27.a0 (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))))
% 0.20/0.52 (assume t27.a1 (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))
% 0.20/0.52 (assume t27.a2 (not (tptp.hates tptp.jon tptp.jon)))
% 0.20/0.52 (step t27.t1 (cl (=> (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule implies_neg1)
% 0.20/0.52 (anchor :step t27.t2)
% 0.20/0.52 (assume t27.t2.a0 (not (tptp.hates tptp.jon tptp.jon)))
% 0.20/0.52 (assume t27.t2.a1 (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))))
% 0.20/0.52 (assume t27.t2.a2 (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))
% 0.20/0.52 (step t27.t2.t1 (cl (= (= (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))) false) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule equiv_simplify)
% 0.20/0.52 (step t27.t2.t2 (cl (not (= (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))) false)) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule equiv1 :premises (t27.t2.t1))
% 0.20/0.52 (step t27.t2.t3 (cl (= (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) tptp.jon)) :rule symm :premises (t27.t2.a1))
% 0.20/0.52 (step t27.t2.t4 (cl (= (tptp.owner_of (tptp.dog_to_animal tptp.odie)) tptp.jon)) :rule symm :premises (t27.t2.a2))
% 0.20/0.52 (step t27.t2.t5 (cl (= (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (tptp.hates tptp.jon tptp.jon))) :rule cong :premises (t27.t2.t3 t27.t2.t4))
% 0.20/0.52 (step t27.t2.t6 (cl (= (= (tptp.hates tptp.jon tptp.jon) false) (not (tptp.hates tptp.jon tptp.jon)))) :rule equiv_simplify)
% 0.20/0.52 (step t27.t2.t7 (cl (= (tptp.hates tptp.jon tptp.jon) false) (not (not (tptp.hates tptp.jon tptp.jon)))) :rule equiv2 :premises (t27.t2.t6))
% 0.20/0.52 (step t27.t2.t8 (cl (not (not (not (tptp.hates tptp.jon tptp.jon)))) (tptp.hates tptp.jon tptp.jon)) :rule not_not)
% 0.20/0.52 (step t27.t2.t9 (cl (= (tptp.hates tptp.jon tptp.jon) false) (tptp.hates tptp.jon tptp.jon)) :rule resolution :premises (t27.t2.t7 t27.t2.t8))
% 0.20/0.52 (step t27.t2.t10 (cl (= (tptp.hates tptp.jon tptp.jon) false)) :rule resolution :premises (t27.t2.t9 t27.t2.a0))
% 0.20/0.52 (step t27.t2.t11 (cl (= (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))) false)) :rule trans :premises (t27.t2.t5 t27.t2.t10))
% 0.20/0.52 (step t27.t2.t12 (cl (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t27.t2.t2 t27.t2.t11))
% 0.20/0.52 (step t27.t2 (cl (not (not (tptp.hates tptp.jon tptp.jon))) (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule subproof :discharge (t27.t2.a0 t27.t2.a1 t27.t2.a2))
% 0.20/0.52 (step t27.t3 (cl (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.hates tptp.jon tptp.jon))) :rule and_pos)
% 0.20/0.52 (step t27.t4 (cl (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) :rule and_pos)
% 0.20/0.52 (step t27.t5 (cl (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) :rule and_pos)
% 0.20/0.52 (step t27.t6 (cl (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t27.t2 t27.t3 t27.t4 t27.t5))
% 0.20/0.52 (step t27.t7 (cl (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule reordering :premises (t27.t6))
% 0.20/0.52 (step t27.t8 (cl (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule contraction :premises (t27.t7))
% 0.20/0.52 (step t27.t9 (cl (=> (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t27.t1 t27.t8))
% 0.20/0.52 (step t27.t10 (cl (=> (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule implies_neg2)
% 0.20/0.52 (step t27.t11 (cl (=> (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (=> (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t27.t9 t27.t10))
% 0.20/0.52 (step t27.t12 (cl (=> (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule contraction :premises (t27.t11))
% 0.20/0.52 (step t27.t13 (cl (not (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule implies :premises (t27.t12))
% 0.20/0.52 (step t27.t14 (cl (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule and_neg)
% 0.20/0.52 (step t27.t15 (cl (and (not (tptp.hates tptp.jon tptp.jon)) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t27.t14 t27.a2 t27.a0 t27.a1))
% 0.20/0.52 (step t27.t16 (cl (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t27.t13 t27.t15))
% 0.20/0.52 (step t27 (cl (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule subproof :discharge (t27.a0 t27.a1 t27.a2))
% 0.20/0.52 (step t28 (cl (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) :rule and_pos)
% 0.20/0.52 (step t29 (cl (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) :rule and_pos)
% 0.20/0.52 (step t30 (cl (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (tptp.hates tptp.jon tptp.jon))) :rule and_pos)
% 0.20/0.52 (step t31 (cl (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))))) :rule resolution :premises (t27 t28 t29 t30))
% 0.20/0.52 (step t32 (cl (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule reordering :premises (t31))
% 0.20/0.52 (step t33 (cl (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule contraction :premises (t32))
% 0.20/0.52 (step t34 (cl (=> (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t26 t33))
% 0.20/0.52 (step t35 (cl (=> (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule implies_neg2)
% 0.20/0.52 (step t36 (cl (=> (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (=> (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t34 t35))
% 0.20/0.52 (step t37 (cl (=> (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule contraction :premises (t36))
% 0.20/0.52 (step t38 (cl (not (and (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield))) (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie))) (not (tptp.hates tptp.jon tptp.jon)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule implies :premises (t37))
% 0.20/0.52 (step t39 (cl (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t25 t38))
% 0.20/0.52 (step t40 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))))) :rule or_neg)
% 0.20/0.52 (step t41 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule or_neg)
% 0.20/0.52 (step t42 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (not (not (tptp.hates tptp.jon tptp.jon))))) :rule or_neg)
% 0.20/0.52 (step t43 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (not (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule or_neg)
% 0.20/0.52 (step t44 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t39 t40 t41 t42 t43))
% 0.20/0.52 (step t45 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (not (tptp.hates tptp.jon tptp.jon))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule contraction :premises (t44))
% 0.20/0.53 (step t46 (cl (or (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (tptp.hates tptp.jon tptp.jon) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t10 t24 t45))
% 0.20/0.53 (step t47 (cl (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (tptp.hates tptp.jon tptp.jon) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule or :premises (t46))
% 0.20/0.53 (step t48 (cl (tptp.hates tptp.jon tptp.jon) (not (= tptp.jon (tptp.owner_of (tptp.cat_to_animal tptp.garfield)))) (not (= tptp.jon (tptp.owner_of (tptp.dog_to_animal tptp.odie)))) (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule reordering :premises (t47))
% 0.20/0.53 (step t49 (cl (not (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie))))) :rule resolution :premises (t48 a6 a1 a2))
% 0.20/0.53 (step t50 (cl (not (or (not (tptp.chased tptp.odie tptp.garfield)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal tptp.garfield)) (tptp.owner_of (tptp.dog_to_animal tptp.odie)))))) :rule resolution :premises (t9 a5 t49))
% 0.20/0.53 (step t51 (cl (not (= (forall ((C tptp.cat) (D tptp.dog)) (=> (tptp.chased D C) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))))) (not (forall ((C tptp.cat) (D tptp.dog)) (=> (tptp.chased D C) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) :rule equiv_pos2)
% 0.20/0.53 (step t52 (cl (= (forall ((C tptp.cat) (D tptp.dog)) (=> (tptp.chased D C) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))) (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D))))))) :rule all_simplify)
% 0.20/0.53 (step t53 (cl (forall ((C tptp.cat) (D tptp.dog)) (or (not (tptp.chased D C)) (tptp.hates (tptp.owner_of (tptp.cat_to_animal C)) (tptp.owner_of (tptp.dog_to_animal D)))))) :rule resolution :premises (t51 t52 a4))
% 0.20/0.53 (step t54 (cl) :rule resolution :premises (t7 t50 t53))
% 0.20/0.53
% 0.20/0.53 % SZS output end Proof for /export/starexec/sandbox2/tmp/tmp.IL2mgI6UFX/cvc5---1.0.5_3717.smt2
% 0.20/0.53 % cvc5---1.0.5 exiting
% 0.20/0.53 % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------