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
%------------------------------------------------------------------------------