============================== Prover9 =============================== Prover9 (32) version June-2007, June 2007. Process 4954 was started by zalta on mally, Sat Jul 14 17:33:49 2007 The command was "prove". ============================== end of head =========================== ============================== INPUT ================================= formulas(sos). (all x all y Sum(x,y) = Sum(y,x)). (all x Sum(x,x) = x). (all x all y all z Sum(Sum(x,y),z) = Sum(x,Sum(y,z))). (all x all y (IsIn(x,y) <-> (exists z Sum(x,z) = y))). end_of_list. formulas(goals). (all x all y (IsIn(x,y) & IsIn(y,x) -> x = y)). end_of_list. ============================== end of input ========================== ============================== PROCESS NON-CLAUSAL FORMULAS ========== % Formulas that are not ordinary clauses: 1 (all x all y Sum(x,y) = Sum(y,x)) # label(non_clause). [assumption]. 2 (all x Sum(x,x) = x) # label(non_clause). [assumption]. 3 (all x all y all z Sum(Sum(x,y),z) = Sum(x,Sum(y,z))) # label(non_clause). [assumption]. 4 (all x all y (IsIn(x,y) <-> (exists z Sum(x,z) = y))) # label(non_clause). [assumption]. 5 (all x all y (IsIn(x,y) & IsIn(y,x) -> x = y)) # label(non_clause) # label(goal). [goal]. ============================== end of process non-clausal formulas === ============================== PROCESS INITIAL CLAUSES =============== % Clauses before input processing: formulas(usable). end_of_list. formulas(sos). Sum(x,y) = Sum(y,x). [clausify(1)]. Sum(x,x) = x. [clausify(2)]. Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. -IsIn(x,y) | Sum(x,f1(x,y)) = y. [clausify(4)]. IsIn(x,y) | Sum(x,z) != y. [clausify(4)]. IsIn(c1,c2). [deny(5)]. IsIn(c2,c1). [deny(5)]. c2 != c1. [deny(5)]. end_of_list. formulas(demodulators). end_of_list. ============================== PREDICATE ELIMINATION ================= Eliminating IsIn/2 6 IsIn(x,y) | Sum(x,z) != y. [clausify(4)]. 7 -IsIn(x,y) | Sum(x,f1(x,y)) = y. [clausify(4)]. Derived: Sum(x,y) != z | Sum(x,f1(x,z)) = z. [resolve(6,a,7,a)]. 8 IsIn(c1,c2). [deny(5)]. Derived: Sum(c1,f1(c1,c2)) = c2. [resolve(8,a,7,a)]. 9 IsIn(c2,c1). [deny(5)]. Derived: Sum(c2,f1(c2,c1)) = c1. [resolve(9,a,7,a)]. ============================== end predicate elimination ============= Auto_denials: (no changes). Term ordering decisions: Predicate symbol precedence: predicate_order([ = ]). Function symbol precedence: function_order([ c1, c2, Sum, f1 ]). After inverse_order: (no changes). Unfolding symbols: (none). Auto_inference settings: % set(paramodulation). % (positive equality literals) % set(paramodulation) -> set(back_demod). % set(hyper_resolution). % (nonunit Horn with equality) % set(hyper_resolution) -> set(pos_hyper_resolution). % set(neg_ur_resolution). % (nonunit Horn with equality) % assign(para_lit_limit, 2). % (nonunit Horn with equality) Auto_process settings: (no changes). % Operation Sum is commutative; C redundancy checks enabled. ============================== end of process initial clauses ======== ============================== CLAUSES FOR SEARCH ==================== % Clauses after input processing: formulas(usable). end_of_list. formulas(sos). 10 Sum(x,y) = Sum(y,x). [clausify(1)]. 11 Sum(x,x) = x. [clausify(2)]. 12 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. 13 c2 != c1. [deny(5)]. 14 Sum(x,y) != z | Sum(x,f1(x,z)) = z. [resolve(6,a,7,a)]. 15 Sum(c1,f1(c1,c2)) = c2. [resolve(8,a,7,a)]. 16 Sum(c2,f1(c2,c1)) = c1. [resolve(9,a,7,a)]. end_of_list. formulas(demodulators). 10 Sum(x,y) = Sum(y,x). [clausify(1)]. % (lex-dep) 11 Sum(x,x) = x. [clausify(2)]. 12 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. 15 Sum(c1,f1(c1,c2)) = c2. [resolve(8,a,7,a)]. 16 Sum(c2,f1(c2,c1)) = c1. [resolve(9,a,7,a)]. end_of_list. ============================== end of clauses for search ============= ============================== SEARCH ================================ % Starting search at 0.00 seconds. given #1 (I,wt=7): 10 Sum(x,y) = Sum(y,x). [clausify(1)]. given #2 (I,wt=5): 11 Sum(x,x) = x. [clausify(2)]. given #3 (I,wt=11): 12 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. % Operation Sum is associative-commutative; CAC redundancy checks enabled. % back CAC tautology: 17 Sum(x,Sum(y,z)) = Sum(z,Sum(x,y)). [para(12(a,1),10(a,1))]. given #4 (I,wt=3): 13 c2 != c1. [deny(5)]. given #5 (I,wt=12): 14 Sum(x,y) != z | Sum(x,f1(x,z)) = z. [resolve(6,a,7,a)]. given #6 (I,wt=7): 15 Sum(c1,f1(c1,c2)) = c2. [resolve(8,a,7,a)]. given #7 (I,wt=7): 16 Sum(c2,f1(c2,c1)) = c1. [resolve(9,a,7,a)]. given #8 (A,wt=11): 18 Sum(x,Sum(y,z)) = Sum(y,Sum(x,z)). [para(10(a,1),12(a,1,1)),rewrite([12(2)])]. given #9 (T,wt=7): 23 Sum(x,f1(x,x)) = x. [hyper(14,a,11,a)]. given #10 (T,wt=9): 20 Sum(x,Sum(x,y)) = Sum(x,y). [para(11(a,1),12(a,1,1)),flip(a)]. ============================== PROOF ================================= % Proof 1 at 0.01 (+ 0.00) seconds. % Length of proof is 18. % Level of proof is 5. % Maximum clause weight is 11. % Given clauses 10. 1 (all x all y Sum(x,y) = Sum(y,x)) # label(non_clause). [assumption]. 2 (all x Sum(x,x) = x) # label(non_clause). [assumption]. 3 (all x all y all z Sum(Sum(x,y),z) = Sum(x,Sum(y,z))) # label(non_clause). [assumption]. 4 (all x all y (IsIn(x,y) <-> (exists z Sum(x,z) = y))) # label(non_clause). [assumption]. 5 (all x all y (IsIn(x,y) & IsIn(y,x) -> x = y)) # label(non_clause) # label(goal). [goal]. 7 -IsIn(x,y) | Sum(x,f1(x,y)) = y. [clausify(4)]. 8 IsIn(c1,c2). [deny(5)]. 9 IsIn(c2,c1). [deny(5)]. 10 Sum(x,y) = Sum(y,x). [clausify(1)]. 11 Sum(x,x) = x. [clausify(2)]. 12 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. 13 c2 != c1. [deny(5)]. 15 Sum(c1,f1(c1,c2)) = c2. [resolve(8,a,7,a)]. 16 Sum(c2,f1(c2,c1)) = c1. [resolve(9,a,7,a)]. 20 Sum(x,Sum(x,y)) = Sum(x,y). [para(11(a,1),12(a,1,1)),flip(a)]. 43 Sum(c1,c2) = c2. [para(15(a,1),20(a,1,2)),rewrite([15(8)])]. 44 c2 = c1. [para(16(a,1),20(a,1,2)),rewrite([10(3),43(3),16(6)])]. 45 $F. [resolve(44,a,13,a)]. ============================== end of proof ========================== ============================== STATISTICS ============================ Given=10. Generated=113. Kept=35. proofs=1. Usable=10. Sos=18. Demods=23. Limbo=3, Disabled=14. Hints=0. Weight_deleted=0. Literals_deleted=0. Forward_subsumed=78. Back_subsumed=1. Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. New_demodulators=26 (3 lex), Back_demodulated=1. Back_unit_deleted=0. Demod_attempts=839. Demod_rewrites=125. Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. Nonunit_fsub_feature_tests=13. Nonunit_bsub_feature_tests=22. Megabytes=0.05. User_CPU=0.01, System_CPU=0.00, Wall_clock=0. ============================== end of statistics ===================== ============================== end of search ========================= THEOREM PROVED Exiting with 1 proof. Process 4954 exit (max_proofs) Sat Jul 14 17:33:49 2007