============================== Prover9 =============================== Prover9 (32) version June-2007, June 2007. Process 5082 was started by zalta on mally, Sat Jul 14 18:13:29 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) -> (exists z (z != x & z != y & Sum(x,y) = Sum(x,z))))). 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) -> (exists z (z != x & z != y & Sum(x,y) = Sum(x,z))))) # 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)]. x = c1 | x = c2 | Sum(c1,x) != Sum(c1,c2). [deny(5)]. end_of_list. formulas(demodulators). end_of_list. ============================== PREDICATE ELIMINATION ================= No predicates eliminated. ============================== end predicate elimination ============= Auto_denials: (non-Horn, no changes). Term ordering decisions: Predicate symbol precedence: predicate_order([ =, IsIn ]). 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(binary_resolution). % (non-Horn) % set(positive_inference). % (non-Horn) % set(positive_inference) -> assign(literal_selection, maximal_negative). % set(neg_ur_resolution). % (non-Horn, less than 100 clauses) Auto_process settings: % set(factor). % (non-Horn) % set(back_unit_deletion). % (non-Horn) % set(back_unit_deletion) -> set(unit_deletion). % 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). 6 Sum(x,y) = Sum(y,x). [clausify(1)]. 7 Sum(x,x) = x. [clausify(2)]. 8 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. 9 -IsIn(x,y) | Sum(x,f1(x,y)) = y. [clausify(4)]. 10 IsIn(x,y) | Sum(x,z) != y. [clausify(4)]. 11 -IsIn(c1,c2). [deny(5)]. 12 -IsIn(c2,c1). [deny(5)]. 14 c1 = x | c2 = x | Sum(c1,c2) != Sum(c1,x). [copy(13),flip(a),flip(b),flip(c)]. end_of_list. formulas(demodulators). 6 Sum(x,y) = Sum(y,x). [clausify(1)]. % (lex-dep) 7 Sum(x,x) = x. [clausify(2)]. 8 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. end_of_list. ============================== end of clauses for search ============= ============================== SEARCH ================================ % Starting search at 0.00 seconds. given #1 (I,wt=7): 6 Sum(x,y) = Sum(y,x). [clausify(1)]. given #2 (I,wt=5): 7 Sum(x,x) = x. [clausify(2)]. given #3 (I,wt=11): 8 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. % Operation Sum is associative-commutative; CAC redundancy checks enabled. % back CAC tautology: 15 Sum(x,Sum(y,z)) = Sum(z,Sum(x,y)). [para(8(a,1),6(a,1))]. given #4 (I,wt=10): 9 -IsIn(x,y) | Sum(x,f1(x,y)) = y. [clausify(4)]. given #5 (I,wt=8): 10 IsIn(x,y) | Sum(x,z) != y. [clausify(4)]. given #6 (I,wt=3): 11 -IsIn(c1,c2). [deny(5)]. given #7 (I,wt=3): 12 -IsIn(c2,c1). [deny(5)]. given #8 (I,wt=13): 14 c1 = x | c2 = x | Sum(c1,c2) != Sum(c1,x). [copy(13),flip(a),flip(b),flip(c)]. given #9 (A,wt=11): 16 Sum(x,Sum(y,z)) = Sum(y,Sum(x,z)). [para(6(a,1),8(a,1,1)),rewrite([8(2)])]. given #10 (F,wt=5): 28 Sum(c1,x) != c2. [ur(10,a,11,a)]. given #11 (F,wt=3): 35 c2 != c1. [para(7(a,1),28(a,1)),flip(a)]. given #12 (F,wt=5): 29 Sum(c2,x) != c1. [ur(10,a,12,a)]. given #13 (F,wt=5): 34 Sum(x,c1) != c2. [para(6(a,1),28(a,1))]. ============================== PROOF ================================= % Proof 1 at 0.00 (+ 0.00) seconds. % Length of proof is 18. % Level of proof is 4. % Maximum clause weight is 13. % Given clauses 13. 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) -> (exists z (z != x & z != y & Sum(x,y) = Sum(x,z))))) # label(non_clause) # label(goal). [goal]. 6 Sum(x,y) = Sum(y,x). [clausify(1)]. 7 Sum(x,x) = x. [clausify(2)]. 8 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)). [clausify(3)]. 10 IsIn(x,y) | Sum(x,z) != y. [clausify(4)]. 11 -IsIn(c1,c2). [deny(5)]. 12 -IsIn(c2,c1). [deny(5)]. 13 x = c1 | x = c2 | Sum(c1,x) != Sum(c1,c2). [deny(5)]. 14 c1 = x | c2 = x | Sum(c1,c2) != Sum(c1,x). [copy(13),flip(a),flip(b),flip(c)]. 18 Sum(x,Sum(x,y)) = Sum(x,y). [para(7(a,1),8(a,1,1)),flip(a)]. 28 Sum(c1,x) != c2. [ur(10,a,11,a)]. 29 Sum(c2,x) != c1. [ur(10,a,12,a)]. 34 Sum(x,c1) != c2. [para(6(a,1),28(a,1))]. 39 $F. [ur(14,a,29,a(flip),b,34,a(flip)),rewrite([6(7),18(8)]),xx(a)]. ============================== end of proof ========================== ============================== STATISTICS ============================ Given=13. Generated=83. Kept=32. proofs=1. Usable=13. Sos=16. Demods=6. Limbo=0, Disabled=11. Hints=0. Weight_deleted=0. Literals_deleted=0. Forward_subsumed=50. Back_subsumed=1. Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. New_demodulators=8 (3 lex), Back_demodulated=1. Back_unit_deleted=0. Demod_attempts=521. Demod_rewrites=54. Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. Nonunit_fsub_feature_tests=11. Nonunit_bsub_feature_tests=35. Megabytes=0.04. User_CPU=0.00, System_CPU=0.00, Wall_clock=0. ============================== end of statistics ===================== ============================== end of search ========================= THEOREM PROVED Exiting with 1 proof. Process 5082 exit (max_proofs) Sat Jul 14 18:13:29 2007