62.021/62.021 YES 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 Confluence Problem: 62.021/62.021 (VAR vNonEmpty x y) 62.021/62.021 (REPLACEMENT-MAP 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Inlining of Conditions Processor [STERN17]: 62.021/62.021 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 Confluence Problem: 62.021/62.021 (VAR vNonEmpty x y) 62.021/62.021 (REPLACEMENT-MAP 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Clean CTRS Processor: 62.021/62.021 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 Confluence Problem: 62.021/62.021 (VAR x) 62.021/62.021 (REPLACEMENT-MAP 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x y vNonEmpty x) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 even(x) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a proof using Prover9: 62.021/62.021 62.021/62.021 -> Prover9 Output: 62.021/62.021 ============================== Prover9 =============================== 62.021/62.021 Prover9 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81470 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./prover9 -f /tmp/prover981461-0.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/prover981461-0.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement). 62.021/62.021 ->_s0(zero(0),true) # label(replacement). 62.021/62.021 ->_s0(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(x,x) # label(reflexivity). 62.021/62.021 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->*_s0(even(x4),true)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(even(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== PROCESS INITIAL CLAUSES =============== 62.021/62.021 62.021/62.021 % Clauses before input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 -->*_s0(even(x),true) # label(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== PREDICATE ELIMINATION ================= 62.021/62.021 62.021/62.021 No predicates eliminated. 62.021/62.021 62.021/62.021 ============================== end predicate elimination ============= 62.021/62.021 62.021/62.021 Auto_denials: 62.021/62.021 % copying label goal to answer in negative clause 62.021/62.021 62.021/62.021 Term ordering decisions: 62.021/62.021 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 62.021/62.021 Function symbol precedence: function_order([ true, false, 0, even, odd, s, zero ]). 62.021/62.021 After inverse_order: (no changes). 62.021/62.021 Unfolding symbols: (none). 62.021/62.021 62.021/62.021 Auto_inference settings: 62.021/62.021 % set(neg_binary_resolution). % (HNE depth_diff=-8) 62.021/62.021 % clear(ordered_res). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution) -> set(pos_ur_resolution). 62.021/62.021 % set(ur_resolution) -> set(neg_ur_resolution). 62.021/62.021 62.021/62.021 Auto_process settings: (no changes). 62.021/62.021 62.021/62.021 kept: 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 kept: 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 kept: 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 kept: 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 kept: 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 kept: 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 kept: 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 kept: 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 kept: 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 kept: 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 kept: 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 kept: 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 kept: 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 kept: 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 ============================== end of process initial clauses ======== 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 % Clauses after input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 ============================== SEARCH ================================ 62.021/62.021 62.021/62.021 % Starting search at 0.00 seconds. 62.021/62.021 62.021/62.021 given #1 (I,wt=8): 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 62.021/62.021 given #2 (I,wt=8): 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 62.021/62.021 given #3 (I,wt=8): 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 62.021/62.021 given #4 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 62.021/62.021 given #5 (I,wt=9): 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 62.021/62.021 given #6 (I,wt=8): 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 62.021/62.021 given #7 (I,wt=9): 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 62.021/62.021 given #8 (I,wt=8): 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 62.021/62.021 given #9 (I,wt=4): 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #10 (I,wt=5): 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #11 (I,wt=3): 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 62.021/62.021 given #12 (I,wt=9): 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 62.021/62.021 given #13 (I,wt=4): 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 given #14 (A,wt=6): 28 ->_s0(s(zero(0)),s(true)). [ur(16,a,23,a)]. 62.021/62.021 62.021/62.021 given #15 (F,wt=4): 39 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 62.021/62.021 ============================== PROOF ================================= 62.021/62.021 62.021/62.021 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 62.021/62.021 % Length of proof is 12. 62.021/62.021 % Level of proof is 4. 62.021/62.021 % Maximum clause weight is 9.000. 62.021/62.021 % Given clauses 15. 62.021/62.021 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(even(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 37 ->*_s0(zero(0),true). [ur(26,a,23,a,b,25,a)]. 62.021/62.021 39 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 45 -->*_s0(zero(x),true) # answer(goal). [resolve(39,a,19,b)]. 62.021/62.021 46 $F # answer(goal). [resolve(45,a,37,a)]. 62.021/62.021 62.021/62.021 ============================== end of proof ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 Given=15. Generated=33. Kept=33. proofs=1. 62.021/62.021 Usable=15. Sos=15. Demods=0. Limbo=0, Disabled=17. Hints=0. 62.021/62.021 Kept_by_rule=0, Deleted_by_rule=0. 62.021/62.021 Forward_subsumed=0. Back_subsumed=2. 62.021/62.021 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 62.021/62.021 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 62.021/62.021 Demod_attempts=0. Demod_rewrites=0. 62.021/62.021 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 62.021/62.021 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=16. 62.021/62.021 Megabytes=0.10. 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== end of search ========================= 62.021/62.021 62.021/62.021 THEOREM PROVED 62.021/62.021 62.021/62.021 Exiting with 1 proof. 62.021/62.021 62.021/62.021 Process 81470 exit (max_proofs) Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 The problem is feasible. 62.021/62.021 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x y vNonEmpty x) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 odd(x) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a proof using Prover9: 62.021/62.021 62.021/62.021 -> Prover9 Output: 62.021/62.021 ============================== Prover9 =============================== 62.021/62.021 Prover9 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81493 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./prover9 -f /tmp/prover981483-0.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/prover981483-0.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement). 62.021/62.021 ->_s0(zero(0),true) # label(replacement). 62.021/62.021 ->_s0(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(x,x) # label(reflexivity). 62.021/62.021 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->*_s0(odd(x4),true)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(odd(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== PROCESS INITIAL CLAUSES =============== 62.021/62.021 62.021/62.021 % Clauses before input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 -->*_s0(odd(x),true) # label(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== PREDICATE ELIMINATION ================= 62.021/62.021 62.021/62.021 No predicates eliminated. 62.021/62.021 62.021/62.021 ============================== end predicate elimination ============= 62.021/62.021 62.021/62.021 Auto_denials: 62.021/62.021 % copying label goal to answer in negative clause 62.021/62.021 62.021/62.021 Term ordering decisions: 62.021/62.021 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 62.021/62.021 Function symbol precedence: function_order([ true, false, 0, even, odd, s, zero ]). 62.021/62.021 After inverse_order: (no changes). 62.021/62.021 Unfolding symbols: (none). 62.021/62.021 62.021/62.021 Auto_inference settings: 62.021/62.021 % set(neg_binary_resolution). % (HNE depth_diff=-8) 62.021/62.021 % clear(ordered_res). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution) -> set(pos_ur_resolution). 62.021/62.021 % set(ur_resolution) -> set(neg_ur_resolution). 62.021/62.021 62.021/62.021 Auto_process settings: (no changes). 62.021/62.021 62.021/62.021 kept: 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 kept: 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 kept: 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 kept: 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 kept: 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 kept: 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 kept: 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 kept: 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 kept: 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 kept: 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 kept: 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 kept: 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 kept: 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 kept: 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 ============================== end of process initial clauses ======== 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 % Clauses after input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 ============================== SEARCH ================================ 62.021/62.021 62.021/62.021 % Starting search at 0.00 seconds. 62.021/62.021 62.021/62.021 given #1 (I,wt=8): 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 62.021/62.021 given #2 (I,wt=8): 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 62.021/62.021 given #3 (I,wt=8): 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 62.021/62.021 given #4 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 62.021/62.021 given #5 (I,wt=9): 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 62.021/62.021 given #6 (I,wt=8): 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 62.021/62.021 given #7 (I,wt=9): 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 62.021/62.021 given #8 (I,wt=8): 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 62.021/62.021 given #9 (I,wt=4): 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #10 (I,wt=5): 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #11 (I,wt=3): 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 62.021/62.021 given #12 (I,wt=9): 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 62.021/62.021 given #13 (I,wt=4): 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 given #14 (A,wt=6): 28 ->_s0(s(zero(0)),s(true)). [ur(16,a,23,a)]. 62.021/62.021 62.021/62.021 given #15 (F,wt=4): 39 -->_s0(odd(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 62.021/62.021 given #16 (F,wt=4): 45 -->*_s0(even(x),true) # answer(goal). [resolve(39,a,21,b)]. 62.021/62.021 62.021/62.021 given #17 (F,wt=4): 47 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,45,a)]. 62.021/62.021 62.021/62.021 ============================== PROOF ================================= 62.021/62.021 62.021/62.021 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 62.021/62.021 % Length of proof is 16. 62.021/62.021 % Level of proof is 6. 62.021/62.021 % Maximum clause weight is 9.000. 62.021/62.021 % Given clauses 17. 62.021/62.021 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(odd(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 37 ->*_s0(zero(0),true). [ur(26,a,23,a,b,25,a)]. 62.021/62.021 39 -->_s0(odd(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 45 -->*_s0(even(x),true) # answer(goal). [resolve(39,a,21,b)]. 62.021/62.021 47 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,45,a)]. 62.021/62.021 48 -->*_s0(zero(x),true) # answer(goal). [resolve(47,a,19,b)]. 62.021/62.021 49 $F # answer(goal). [resolve(48,a,37,a)]. 62.021/62.021 62.021/62.021 ============================== end of proof ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 Given=17. Generated=37. Kept=36. proofs=1. 62.021/62.021 Usable=15. Sos=16. Demods=0. Limbo=0, Disabled=19. Hints=0. 62.021/62.021 Kept_by_rule=0, Deleted_by_rule=0. 62.021/62.021 Forward_subsumed=1. Back_subsumed=4. 62.021/62.021 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 62.021/62.021 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 62.021/62.021 Demod_attempts=0. Demod_rewrites=0. 62.021/62.021 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 62.021/62.021 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=20. 62.021/62.021 Megabytes=0.10. 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== end of search ========================= 62.021/62.021 62.021/62.021 THEOREM PROVED 62.021/62.021 62.021/62.021 Exiting with 1 proof. 62.021/62.021 62.021/62.021 Process 81493 exit (max_proofs) Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 The problem is feasible. 62.021/62.021 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x y vNonEmpty x) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 zero(x) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a proof using Prover9: 62.021/62.021 62.021/62.021 -> Prover9 Output: 62.021/62.021 ============================== Prover9 =============================== 62.021/62.021 Prover9 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81512 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./prover9 -f /tmp/prover981505-0.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/prover981505-0.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement). 62.021/62.021 ->_s0(zero(0),true) # label(replacement). 62.021/62.021 ->_s0(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(x,x) # label(reflexivity). 62.021/62.021 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->*_s0(zero(x4),true)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(zero(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== PROCESS INITIAL CLAUSES =============== 62.021/62.021 62.021/62.021 % Clauses before input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 -->*_s0(zero(x),true) # label(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== PREDICATE ELIMINATION ================= 62.021/62.021 62.021/62.021 No predicates eliminated. 62.021/62.021 62.021/62.021 ============================== end predicate elimination ============= 62.021/62.021 62.021/62.021 Auto_denials: 62.021/62.021 % copying label goal to answer in negative clause 62.021/62.021 62.021/62.021 Term ordering decisions: 62.021/62.021 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 62.021/62.021 Function symbol precedence: function_order([ true, false, 0, even, odd, s, zero ]). 62.021/62.021 After inverse_order: (no changes). 62.021/62.021 Unfolding symbols: (none). 62.021/62.021 62.021/62.021 Auto_inference settings: 62.021/62.021 % set(neg_binary_resolution). % (HNE depth_diff=-8) 62.021/62.021 % clear(ordered_res). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution) -> set(pos_ur_resolution). 62.021/62.021 % set(ur_resolution) -> set(neg_ur_resolution). 62.021/62.021 62.021/62.021 Auto_process settings: (no changes). 62.021/62.021 62.021/62.021 kept: 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 kept: 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 kept: 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 kept: 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 kept: 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 kept: 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 kept: 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 kept: 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 kept: 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 kept: 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 kept: 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 kept: 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 kept: 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 kept: 27 -->*_s0(zero(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 ============================== end of process initial clauses ======== 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 % Clauses after input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(zero(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 ============================== SEARCH ================================ 62.021/62.021 62.021/62.021 % Starting search at 0.00 seconds. 62.021/62.021 62.021/62.021 given #1 (I,wt=8): 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 62.021/62.021 given #2 (I,wt=8): 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 62.021/62.021 given #3 (I,wt=8): 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 62.021/62.021 given #4 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 62.021/62.021 given #5 (I,wt=9): 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 62.021/62.021 given #6 (I,wt=9): 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 62.021/62.021 given #7 (I,wt=9): 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 62.021/62.021 given #8 (I,wt=9): 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 62.021/62.021 given #9 (I,wt=4): 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #10 (I,wt=5): 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #11 (I,wt=3): 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 62.021/62.021 given #12 (I,wt=9): 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 62.021/62.021 ============================== PROOF ================================= 62.021/62.021 62.021/62.021 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 62.021/62.021 % Length of proof is 8. 62.021/62.021 % Level of proof is 3. 62.021/62.021 % Maximum clause weight is 9.000. 62.021/62.021 % Given clauses 12. 62.021/62.021 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(zero(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(zero(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 37 ->*_s0(zero(0),true). [ur(26,a,23,a,b,25,a)]. 62.021/62.021 38 $F # answer(goal). [resolve(37,a,27,a)]. 62.021/62.021 62.021/62.021 ============================== end of proof ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 Given=12. Generated=25. Kept=25. proofs=1. 62.021/62.021 Usable=12. Sos=9. Demods=0. Limbo=1, Disabled=17. Hints=0. 62.021/62.021 Kept_by_rule=0, Deleted_by_rule=0. 62.021/62.021 Forward_subsumed=0. Back_subsumed=2. 62.021/62.021 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 62.021/62.021 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 62.021/62.021 Demod_attempts=0. Demod_rewrites=0. 62.021/62.021 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 62.021/62.021 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=14. 62.021/62.021 Megabytes=0.09. 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== end of search ========================= 62.021/62.021 62.021/62.021 THEOREM PROVED 62.021/62.021 62.021/62.021 Exiting with 1 proof. 62.021/62.021 62.021/62.021 Process 81512 exit (max_proofs) Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 The problem is feasible. 62.021/62.021 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x y vNonEmpty x) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 odd(x) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a proof using Prover9: 62.021/62.021 62.021/62.021 -> Prover9 Output: 62.021/62.021 ============================== Prover9 =============================== 62.021/62.021 Prover9 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81535 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./prover9 -f /tmp/prover981527-0.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/prover981527-0.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement). 62.021/62.021 ->_s0(zero(0),true) # label(replacement). 62.021/62.021 ->_s0(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(x,x) # label(reflexivity). 62.021/62.021 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->*_s0(odd(x4),true)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(odd(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== PROCESS INITIAL CLAUSES =============== 62.021/62.021 62.021/62.021 % Clauses before input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 -->*_s0(odd(x),true) # label(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== PREDICATE ELIMINATION ================= 62.021/62.021 62.021/62.021 No predicates eliminated. 62.021/62.021 62.021/62.021 ============================== end predicate elimination ============= 62.021/62.021 62.021/62.021 Auto_denials: 62.021/62.021 % copying label goal to answer in negative clause 62.021/62.021 62.021/62.021 Term ordering decisions: 62.021/62.021 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 62.021/62.021 Function symbol precedence: function_order([ true, false, 0, even, odd, s, zero ]). 62.021/62.021 After inverse_order: (no changes). 62.021/62.021 Unfolding symbols: (none). 62.021/62.021 62.021/62.021 Auto_inference settings: 62.021/62.021 % set(neg_binary_resolution). % (HNE depth_diff=-8) 62.021/62.021 % clear(ordered_res). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution) -> set(pos_ur_resolution). 62.021/62.021 % set(ur_resolution) -> set(neg_ur_resolution). 62.021/62.021 62.021/62.021 Auto_process settings: (no changes). 62.021/62.021 62.021/62.021 kept: 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 kept: 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 kept: 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 kept: 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 kept: 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 kept: 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 kept: 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 kept: 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 kept: 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 kept: 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 kept: 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 kept: 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 kept: 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 kept: 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 ============================== end of process initial clauses ======== 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 % Clauses after input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 ============================== SEARCH ================================ 62.021/62.021 62.021/62.021 % Starting search at 0.01 seconds. 62.021/62.021 62.021/62.021 given #1 (I,wt=8): 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 62.021/62.021 given #2 (I,wt=8): 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 62.021/62.021 given #3 (I,wt=8): 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 62.021/62.021 given #4 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 62.021/62.021 given #5 (I,wt=9): 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 62.021/62.021 given #6 (I,wt=8): 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 62.021/62.021 given #7 (I,wt=9): 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 62.021/62.021 given #8 (I,wt=8): 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 62.021/62.021 given #9 (I,wt=4): 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #10 (I,wt=5): 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #11 (I,wt=3): 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 62.021/62.021 given #12 (I,wt=9): 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 62.021/62.021 given #13 (I,wt=4): 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 given #14 (A,wt=6): 28 ->_s0(s(zero(0)),s(true)). [ur(16,a,23,a)]. 62.021/62.021 62.021/62.021 given #15 (F,wt=4): 39 -->_s0(odd(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 62.021/62.021 given #16 (F,wt=4): 45 -->*_s0(even(x),true) # answer(goal). [resolve(39,a,21,b)]. 62.021/62.021 62.021/62.021 given #17 (F,wt=4): 47 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,45,a)]. 62.021/62.021 62.021/62.021 ============================== PROOF ================================= 62.021/62.021 62.021/62.021 % Proof 1 at 0.01 (+ 0.00) seconds: goal. 62.021/62.021 % Length of proof is 16. 62.021/62.021 % Level of proof is 6. 62.021/62.021 % Maximum clause weight is 9.000. 62.021/62.021 % Given clauses 17. 62.021/62.021 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(odd(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 37 ->*_s0(zero(0),true). [ur(26,a,23,a,b,25,a)]. 62.021/62.021 39 -->_s0(odd(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 45 -->*_s0(even(x),true) # answer(goal). [resolve(39,a,21,b)]. 62.021/62.021 47 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,45,a)]. 62.021/62.021 48 -->*_s0(zero(x),true) # answer(goal). [resolve(47,a,19,b)]. 62.021/62.021 49 $F # answer(goal). [resolve(48,a,37,a)]. 62.021/62.021 62.021/62.021 ============================== end of proof ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 Given=17. Generated=37. Kept=36. proofs=1. 62.021/62.021 Usable=15. Sos=16. Demods=0. Limbo=0, Disabled=19. Hints=0. 62.021/62.021 Kept_by_rule=0, Deleted_by_rule=0. 62.021/62.021 Forward_subsumed=1. Back_subsumed=4. 62.021/62.021 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 62.021/62.021 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 62.021/62.021 Demod_attempts=0. Demod_rewrites=0. 62.021/62.021 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 62.021/62.021 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=20. 62.021/62.021 Megabytes=0.10. 62.021/62.021 User_CPU=0.01, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== end of search ========================= 62.021/62.021 62.021/62.021 THEOREM PROVED 62.021/62.021 62.021/62.021 Exiting with 1 proof. 62.021/62.021 62.021/62.021 Process 81535 exit (max_proofs) Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 The problem is feasible. 62.021/62.021 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x y vNonEmpty x) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 even(x) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a proof using Prover9: 62.021/62.021 62.021/62.021 -> Prover9 Output: 62.021/62.021 ============================== Prover9 =============================== 62.021/62.021 Prover9 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81556 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./prover9 -f /tmp/prover981549-0.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/prover981549-0.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement). 62.021/62.021 ->_s0(zero(0),true) # label(replacement). 62.021/62.021 ->_s0(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(x,x) # label(reflexivity). 62.021/62.021 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->*_s0(even(x4),true)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(even(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== PROCESS INITIAL CLAUSES =============== 62.021/62.021 62.021/62.021 % Clauses before input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 -->*_s0(even(x),true) # label(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== PREDICATE ELIMINATION ================= 62.021/62.021 62.021/62.021 No predicates eliminated. 62.021/62.021 62.021/62.021 ============================== end predicate elimination ============= 62.021/62.021 62.021/62.021 Auto_denials: 62.021/62.021 % copying label goal to answer in negative clause 62.021/62.021 62.021/62.021 Term ordering decisions: 62.021/62.021 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 62.021/62.021 Function symbol precedence: function_order([ true, false, 0, even, odd, s, zero ]). 62.021/62.021 After inverse_order: (no changes). 62.021/62.021 Unfolding symbols: (none). 62.021/62.021 62.021/62.021 Auto_inference settings: 62.021/62.021 % set(neg_binary_resolution). % (HNE depth_diff=-8) 62.021/62.021 % clear(ordered_res). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution) -> set(pos_ur_resolution). 62.021/62.021 % set(ur_resolution) -> set(neg_ur_resolution). 62.021/62.021 62.021/62.021 Auto_process settings: (no changes). 62.021/62.021 62.021/62.021 kept: 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 kept: 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 kept: 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 kept: 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 kept: 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 kept: 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 kept: 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 kept: 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 kept: 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 kept: 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 kept: 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 kept: 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 kept: 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 kept: 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 ============================== end of process initial clauses ======== 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 % Clauses after input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 ============================== SEARCH ================================ 62.021/62.021 62.021/62.021 % Starting search at 0.01 seconds. 62.021/62.021 62.021/62.021 given #1 (I,wt=8): 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 62.021/62.021 given #2 (I,wt=8): 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 62.021/62.021 given #3 (I,wt=8): 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 62.021/62.021 given #4 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 62.021/62.021 given #5 (I,wt=9): 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 62.021/62.021 given #6 (I,wt=8): 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 62.021/62.021 given #7 (I,wt=9): 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 62.021/62.021 given #8 (I,wt=8): 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 62.021/62.021 given #9 (I,wt=4): 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #10 (I,wt=5): 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #11 (I,wt=3): 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 62.021/62.021 given #12 (I,wt=9): 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 62.021/62.021 given #13 (I,wt=4): 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 given #14 (A,wt=6): 28 ->_s0(s(zero(0)),s(true)). [ur(16,a,23,a)]. 62.021/62.021 62.021/62.021 given #15 (F,wt=4): 39 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 62.021/62.021 ============================== PROOF ================================= 62.021/62.021 62.021/62.021 % Proof 1 at 0.01 (+ 0.00) seconds: goal. 62.021/62.021 % Length of proof is 12. 62.021/62.021 % Level of proof is 4. 62.021/62.021 % Maximum clause weight is 9.000. 62.021/62.021 % Given clauses 15. 62.021/62.021 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(even(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 37 ->*_s0(zero(0),true). [ur(26,a,23,a,b,25,a)]. 62.021/62.021 39 -->_s0(even(x),true) # answer(goal). [ur(26,b,25,a,c,27,a)]. 62.021/62.021 45 -->*_s0(zero(x),true) # answer(goal). [resolve(39,a,19,b)]. 62.021/62.021 46 $F # answer(goal). [resolve(45,a,37,a)]. 62.021/62.021 62.021/62.021 ============================== end of proof ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 Given=15. Generated=33. Kept=33. proofs=1. 62.021/62.021 Usable=15. Sos=15. Demods=0. Limbo=0, Disabled=17. Hints=0. 62.021/62.021 Kept_by_rule=0, Deleted_by_rule=0. 62.021/62.021 Forward_subsumed=0. Back_subsumed=2. 62.021/62.021 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 62.021/62.021 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 62.021/62.021 Demod_attempts=0. Demod_rewrites=0. 62.021/62.021 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 62.021/62.021 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=16. 62.021/62.021 Megabytes=0.10. 62.021/62.021 User_CPU=0.01, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== end of search ========================= 62.021/62.021 62.021/62.021 THEOREM PROVED 62.021/62.021 62.021/62.021 Exiting with 1 proof. 62.021/62.021 62.021/62.021 Process 81556 exit (max_proofs) Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 The problem is feasible. 62.021/62.021 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x y vNonEmpty x) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 zero(x) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a proof using Prover9: 62.021/62.021 62.021/62.021 -> Prover9 Output: 62.021/62.021 ============================== Prover9 =============================== 62.021/62.021 Prover9 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81571 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./prover9 -f /tmp/prover981562-0.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/prover981562-0.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement). 62.021/62.021 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement). 62.021/62.021 ->_s0(zero(0),true) # label(replacement). 62.021/62.021 ->_s0(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*_s0(x,x) # label(reflexivity). 62.021/62.021 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->*_s0(zero(x4),true)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->_s0(x1,y) -> ->_s0(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*_s0(even(x1),true) -> ->_s0(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*_s0(odd(x1),true) -> ->_s0(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*_s0(zero(x1),true) -> ->_s0(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*_s0(odd(x1),true) -> ->_s0(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*_s0(even(x1),true) -> ->_s0(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*_s0(zero(x1),true) -> ->_s0(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(zero(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== PROCESS INITIAL CLAUSES =============== 62.021/62.021 62.021/62.021 % Clauses before input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 -->*_s0(zero(x),true) # label(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== PREDICATE ELIMINATION ================= 62.021/62.021 62.021/62.021 No predicates eliminated. 62.021/62.021 62.021/62.021 ============================== end predicate elimination ============= 62.021/62.021 62.021/62.021 Auto_denials: 62.021/62.021 % copying label goal to answer in negative clause 62.021/62.021 62.021/62.021 Term ordering decisions: 62.021/62.021 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 62.021/62.021 Function symbol precedence: function_order([ true, false, 0, even, odd, s, zero ]). 62.021/62.021 After inverse_order: (no changes). 62.021/62.021 Unfolding symbols: (none). 62.021/62.021 62.021/62.021 Auto_inference settings: 62.021/62.021 % set(neg_binary_resolution). % (HNE depth_diff=-8) 62.021/62.021 % clear(ordered_res). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution). % (HNE depth_diff=-8) 62.021/62.021 % set(ur_resolution) -> set(pos_ur_resolution). 62.021/62.021 % set(ur_resolution) -> set(neg_ur_resolution). 62.021/62.021 62.021/62.021 Auto_process settings: (no changes). 62.021/62.021 62.021/62.021 kept: 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 kept: 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 kept: 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 kept: 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 kept: 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 kept: 19 -->*_s0(zero(x),true) | ->_s0(even(x),true) # label(replacement). [clausify(7)]. 62.021/62.021 kept: 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 kept: 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 kept: 22 -->*_s0(zero(x),true) | ->_s0(odd(x),false) # label(replacement). [clausify(10)]. 62.021/62.021 kept: 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 kept: 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 kept: 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 kept: 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 kept: 27 -->*_s0(zero(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 62.021/62.021 ============================== end of process initial clauses ======== 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 % Clauses after input processing: 62.021/62.021 62.021/62.021 formulas(usable). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(sos). 62.021/62.021 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(zero(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(demodulators). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 ============================== SEARCH ================================ 62.021/62.021 62.021/62.021 % Starting search at 0.00 seconds. 62.021/62.021 62.021/62.021 given #1 (I,wt=8): 13 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(1)]. 62.021/62.021 62.021/62.021 given #2 (I,wt=8): 14 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(2)]. 62.021/62.021 62.021/62.021 given #3 (I,wt=8): 15 -->_s0(x,y) | ->_s0(zero(x),zero(y)) # label(congruence). [clausify(3)]. 62.021/62.021 62.021/62.021 given #4 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 62.021/62.021 62.021/62.021 given #5 (I,wt=9): 17 -->*_s0(even(x),true) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 62.021/62.021 62.021/62.021 given #6 (I,wt=9): 18 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 62.021/62.021 62.021/62.021 given #7 (I,wt=9): 20 -->*_s0(odd(x),true) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(8)]. 62.021/62.021 62.021/62.021 given #8 (I,wt=9): 21 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(9)]. 62.021/62.021 62.021/62.021 given #9 (I,wt=4): 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #10 (I,wt=5): 24 ->_s0(zero(s(x)),false) # label(replacement). [assumption]. 62.021/62.021 62.021/62.021 given #11 (I,wt=3): 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 62.021/62.021 given #12 (I,wt=9): 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 62.021/62.021 ============================== PROOF ================================= 62.021/62.021 62.021/62.021 % Proof 1 at 0.01 (+ 0.00) seconds: goal. 62.021/62.021 % Length of proof is 8. 62.021/62.021 % Level of proof is 3. 62.021/62.021 % Maximum clause weight is 9.000. 62.021/62.021 % Given clauses 12. 62.021/62.021 62.021/62.021 11 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 ->*_s0(zero(x4),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 23 ->_s0(zero(0),true) # label(replacement). [assumption]. 62.021/62.021 25 ->*_s0(x,x) # label(reflexivity). [assumption]. 62.021/62.021 26 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(11)]. 62.021/62.021 27 -->*_s0(zero(x),true) # label(goal) # answer(goal). [deny(12)]. 62.021/62.021 37 ->*_s0(zero(0),true). [ur(26,a,23,a,b,25,a)]. 62.021/62.021 38 $F # answer(goal). [resolve(37,a,27,a)]. 62.021/62.021 62.021/62.021 ============================== end of proof ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 Given=12. Generated=25. Kept=25. proofs=1. 62.021/62.021 Usable=12. Sos=9. Demods=0. Limbo=1, Disabled=17. Hints=0. 62.021/62.021 Kept_by_rule=0, Deleted_by_rule=0. 62.021/62.021 Forward_subsumed=0. Back_subsumed=2. 62.021/62.021 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 62.021/62.021 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 62.021/62.021 Demod_attempts=0. Demod_rewrites=0. 62.021/62.021 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 62.021/62.021 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=14. 62.021/62.021 Megabytes=0.09. 62.021/62.021 User_CPU=0.01, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== end of search ========================= 62.021/62.021 62.021/62.021 THEOREM PROVED 62.021/62.021 62.021/62.021 Exiting with 1 proof. 62.021/62.021 62.021/62.021 Process 81571 exit (max_proofs) Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 The problem is feasible. 62.021/62.021 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 zero(0) -> true 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO_CONDS 62.021/62.021 62.021/62.021 CRule InfChecker Info: 62.021/62.021 zero(s(x)) -> false 62.021/62.021 Rule remains 62.021/62.021 Proof: 62.021/62.021 NO_CONDS 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 Confluence Problem: 62.021/62.021 (VAR x) 62.021/62.021 (REPLACEMENT-MAP 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 62.021/62.021 Critical Pairs Processor: 62.021/62.021 -> Rules: 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 -> Vars: 62.021/62.021 "x" 62.021/62.021 62.021/62.021 -> Rlps: 62.021/62.021 crule: even(s(x)) -> false | even(x) ->* true, id: 1, possubterms: even(s(x))-> [], s(x)-> [1] 62.021/62.021 crule: even(s(x)) -> true | odd(x) ->* true, id: 2, possubterms: even(s(x))-> [], s(x)-> [1] 62.021/62.021 crule: even(x) -> true | zero(x) ->* true, id: 3, possubterms: even(x)-> [] 62.021/62.021 crule: odd(s(x)) -> false | odd(x) ->* true, id: 4, possubterms: odd(s(x))-> [], s(x)-> [1] 62.021/62.021 crule: odd(s(x)) -> true | even(x) ->* true, id: 5, possubterms: odd(s(x))-> [], s(x)-> [1] 62.021/62.021 crule: odd(x) -> false | zero(x) ->* true, id: 6, possubterms: odd(x)-> [] 62.021/62.021 crule: zero(0) -> true, id: 7, possubterms: zero(0)-> [], 0-> [1] 62.021/62.021 crule: zero(s(x)) -> false, id: 8, possubterms: zero(s(x))-> [], s(x)-> [1] 62.021/62.021 62.021/62.021 -> Unifications: 62.021/62.021 R2 unifies with R1 at p: [], l: even(s(x)), lp: even(s(x)), conds: {odd(x) ->* true, even(x') ->* true}, sig: {x -> x'}, l': even(s(x')), r: true, r': false 62.021/62.021 R3 unifies with R1 at p: [], l: even(x), lp: even(x), conds: {zero(x) ->* true, even(x') ->* true}, sig: {x -> s(x')}, l': even(s(x')), r: true, r': false 62.021/62.021 R3 unifies with R2 at p: [], l: even(x), lp: even(x), conds: {zero(x) ->* true, odd(x') ->* true}, sig: {x -> s(x')}, l': even(s(x')), r: true, r': true 62.021/62.021 R5 unifies with R4 at p: [], l: odd(s(x)), lp: odd(s(x)), conds: {even(x) ->* true, odd(x') ->* true}, sig: {x -> x'}, l': odd(s(x')), r: true, r': false 62.021/62.021 R6 unifies with R4 at p: [], l: odd(x), lp: odd(x), conds: {zero(x) ->* true, odd(x') ->* true}, sig: {x -> s(x')}, l': odd(s(x')), r: false, r': false 62.021/62.021 R6 unifies with R5 at p: [], l: odd(x), lp: odd(x), conds: {zero(x) ->* true, even(x') ->* true}, sig: {x -> s(x')}, l': odd(s(x')), r: false, r': true 62.021/62.021 62.021/62.021 -> Critical pairs info: 62.021/62.021 | zero(s(x')) ->* true, even(x') ->* true => Not trivial, Overlay, NW2, N1 62.021/62.021 | zero(s(x')) ->* true, odd(x') ->* true => Trivial, Overlay, NW2, N2 62.021/62.021 | even(x') ->* true, odd(x') ->* true => Not trivial, Overlay, NW2, N3 62.021/62.021 | odd(x') ->* true, even(x') ->* true => Not trivial, Overlay, NW2, N4 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Not weakly orthogonal, Not almost orthogonal, Not orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Maybe right-stable CTRS, Overlay CTRS 62.021/62.021 Maybe normal CTRS, Maybe almost normal CTRS 62.021/62.021 Maybe terminating CTRS, Maybe operational terminating CTRS, Maybe joinable CCPs 62.021/62.021 Maybe level confluent 62.021/62.021 Maybe confluent 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 Clean Infeasible CCPs Processor: 62.021/62.021 Num of CPIs: 3 62.021/62.021 Timeout: 60 62.021/62.021 Timeout for each infeasibility problem: 60 s 62.021/62.021 | zero(s(x')) ->* true, even(x') ->* true => Not trivial, Overlay, NW2, N1 62.021/62.021 (CONDITIONTYPE ORIENTED) 62.021/62.021 (VAR x x1) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false) 62.021/62.021 (VAR x4) 62.021/62.021 (CONDITION zero(s(x4)) ->* true, even(x4) ->* true) 62.021/62.021 62.021/62.021 Proof: 62.021/62.021 YES 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x x1 vNonEmpty x4) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 zero(s(x4)) ->* true, even(x4) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a model using Mace4: 62.021/62.021 62.021/62.021 -> Usable Rules: 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 62.021/62.021 -> Mace4 Output: 62.021/62.021 ============================== Mace4 ================================= 62.021/62.021 Mace4 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81616 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:13 2022 62.021/62.021 The command was "./mace4 -c -f /tmp/mace481589-2.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/mace481589-2.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement). 62.021/62.021 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement). 62.021/62.021 ->(zero(0),true) # label(replacement). 62.021/62.021 ->(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*(x,x) # label(reflexivity). 62.021/62.021 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 (->*(zero(s(x4)),true) & ->*(even(x4),true))) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 (->*(zero(s(x4)),true) & ->*(even(x4),true))) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 formulas(mace4_clauses). 62.021/62.021 -->(x,y) | ->(even(x),even(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(odd(x),odd(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(zero(x),zero(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(s(x),s(y)) # label(congruence). 62.021/62.021 -->*(even(x),true) | ->(even(s(x)),false) # label(replacement). 62.021/62.021 -->*(odd(x),true) | ->(even(s(x)),true) # label(replacement). 62.021/62.021 -->*(zero(x),true) | ->(even(x),true) # label(replacement). 62.021/62.021 -->*(odd(x),true) | ->(odd(s(x)),false) # label(replacement). 62.021/62.021 -->*(even(x),true) | ->(odd(s(x)),true) # label(replacement). 62.021/62.021 -->*(zero(x),true) | ->(odd(x),false) # label(replacement). 62.021/62.021 ->(zero(0),true) # label(replacement). 62.021/62.021 ->(zero(s(x)),false) # label(replacement). 62.021/62.021 ->*(x,x) # label(reflexivity). 62.021/62.021 -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). 62.021/62.021 -->*(zero(s(x)),true) | -->*(even(x),true) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 % There are no natural numbers in the input. 62.021/62.021 62.021/62.021 ============================== DOMAIN SIZE 2 ========================= 62.021/62.021 62.021/62.021 ============================== MODEL ================================= 62.021/62.021 62.021/62.021 interpretation( 2, [number=1, seconds=0], [ 62.021/62.021 62.021/62.021 function(0, [ 0 ]), 62.021/62.021 62.021/62.021 function(false, [ 1 ]), 62.021/62.021 62.021/62.021 function(true, [ 0 ]), 62.021/62.021 62.021/62.021 function(even(_), [ 0, 0 ]), 62.021/62.021 62.021/62.021 function(odd(_), [ 0, 0 ]), 62.021/62.021 62.021/62.021 function(zero(_), [ 0, 1 ]), 62.021/62.021 62.021/62.021 function(s(_), [ 1, 1 ]), 62.021/62.021 62.021/62.021 relation(->*(_,_), [ 62.021/62.021 1, 1, 62.021/62.021 0, 1 ]), 62.021/62.021 62.021/62.021 relation(->(_,_), [ 62.021/62.021 1, 1, 62.021/62.021 0, 1 ]) 62.021/62.021 ]). 62.021/62.021 62.021/62.021 ============================== end of model ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 For domain size 2. 62.021/62.021 62.021/62.021 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 62.021/62.021 Ground clauses: seen=43, kept=39. 62.021/62.021 Selections=39, assignments=73, propagations=97, current_models=1. 62.021/62.021 Rewrite_terms=610, rewrite_bools=515, indexes=202. 62.021/62.021 Rules_from_neg_clauses=22, cross_offs=22. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 Exiting with 1 model. 62.021/62.021 62.021/62.021 Process 81616 exit (max_models) Wed Mar 9 10:28:13 2022 62.021/62.021 The process finished Wed Mar 9 10:28:13 2022 62.021/62.021 62.021/62.021 62.021/62.021 Mace4 cooked interpretation: 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 The problem is infeasible. 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 | even(x') ->* true, odd(x') ->* true => Not trivial, Overlay, NW2, N3 62.021/62.021 (CONDITIONTYPE ORIENTED) 62.021/62.021 (VAR x x1) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false) 62.021/62.021 (VAR x4) 62.021/62.021 (CONDITION even(x4) ->* true, odd(x4) ->* true) 62.021/62.021 62.021/62.021 Proof: 62.021/62.021 YES 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x x1 vNonEmpty x4) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 even(x4) ->* true, odd(x4) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a model using Mace4: 62.021/62.021 62.021/62.021 -> Usable Rules: 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 62.021/62.021 -> Mace4 Output: 62.021/62.021 ============================== Mace4 ================================= 62.021/62.021 Mace4 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81657 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:34 2022 62.021/62.021 The command was "./mace4 -c -f /tmp/mace481645-2.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/mace481645-2.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement). 62.021/62.021 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement). 62.021/62.021 ->(zero(0),true) # label(replacement). 62.021/62.021 ->(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*(x,x) # label(reflexivity). 62.021/62.021 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 (->*(even(x4),true) & ->*(odd(x4),true))) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 (->*(even(x4),true) & ->*(odd(x4),true))) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 formulas(mace4_clauses). 62.021/62.021 -->(x,y) | ->(even(x),even(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(odd(x),odd(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(zero(x),zero(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(s(x),s(y)) # label(congruence). 62.021/62.021 -->*(even(x),true) | ->(even(s(x)),false) # label(replacement). 62.021/62.021 -->*(odd(x),true) | ->(even(s(x)),true) # label(replacement). 62.021/62.021 -->*(zero(x),true) | ->(even(x),true) # label(replacement). 62.021/62.021 -->*(odd(x),true) | ->(odd(s(x)),false) # label(replacement). 62.021/62.021 -->*(even(x),true) | ->(odd(s(x)),true) # label(replacement). 62.021/62.021 -->*(zero(x),true) | ->(odd(x),false) # label(replacement). 62.021/62.021 ->(zero(0),true) # label(replacement). 62.021/62.021 ->(zero(s(x)),false) # label(replacement). 62.021/62.021 ->*(x,x) # label(reflexivity). 62.021/62.021 -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). 62.021/62.021 -->*(even(x),true) | -->*(odd(x),true) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 % There are no natural numbers in the input. 62.021/62.021 62.021/62.021 ============================== DOMAIN SIZE 2 ========================= 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 For domain size 2. 62.021/62.021 62.021/62.021 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 62.021/62.021 Ground clauses: seen=43, kept=39. 62.021/62.021 Selections=20, assignments=39, propagations=76, current_models=0. 62.021/62.021 Rewrite_terms=451, rewrite_bools=307, indexes=115. 62.021/62.021 Rules_from_neg_clauses=18, cross_offs=18. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== DOMAIN SIZE 3 ========================= 62.021/62.021 62.021/62.021 ============================== MODEL ================================= 62.021/62.021 62.021/62.021 interpretation( 3, [number=1, seconds=0], [ 62.021/62.021 62.021/62.021 function(0, [ 0 ]), 62.021/62.021 62.021/62.021 function(false, [ 0 ]), 62.021/62.021 62.021/62.021 function(true, [ 1 ]), 62.021/62.021 62.021/62.021 function(even(_), [ 1, 0, 1 ]), 62.021/62.021 62.021/62.021 function(odd(_), [ 0, 1, 0 ]), 62.021/62.021 62.021/62.021 function(zero(_), [ 1, 0, 0 ]), 62.021/62.021 62.021/62.021 function(s(_), [ 1, 2, 1 ]), 62.021/62.021 62.021/62.021 relation(->*(_,_), [ 62.021/62.021 1, 0, 0, 62.021/62.021 0, 1, 0, 62.021/62.021 0, 0, 1 ]), 62.021/62.021 62.021/62.021 relation(->(_,_), [ 62.021/62.021 1, 0, 0, 62.021/62.021 0, 1, 0, 62.021/62.021 0, 0, 1 ]) 62.021/62.021 ]). 62.021/62.021 62.021/62.021 ============================== end of model ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 For domain size 3. 62.021/62.021 62.021/62.021 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 62.021/62.021 Ground clauses: seen=91, kept=82. 62.021/62.021 Selections=28, assignments=51, propagations=84, current_models=1. 62.021/62.021 Rewrite_terms=469, rewrite_bools=451, indexes=110. 62.021/62.021 Rules_from_neg_clauses=3, cross_offs=15. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 Exiting with 1 model. 62.021/62.021 62.021/62.021 Process 81657 exit (max_models) Wed Mar 9 10:28:34 2022 62.021/62.021 The process finished Wed Mar 9 10:28:34 2022 62.021/62.021 62.021/62.021 62.021/62.021 Mace4 cooked interpretation: 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 The problem is infeasible. 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 | odd(x') ->* true, even(x') ->* true => Not trivial, Overlay, NW2, N4 62.021/62.021 (CONDITIONTYPE ORIENTED) 62.021/62.021 (VAR x x1) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false) 62.021/62.021 (VAR x4) 62.021/62.021 (CONDITION odd(x4) ->* true, even(x4) ->* true) 62.021/62.021 62.021/62.021 Proof: 62.021/62.021 YES 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x x1 vNonEmpty x4) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 odd(x4) ->* true, even(x4) ->* true 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a model using Mace4: 62.021/62.021 62.021/62.021 -> Usable Rules: 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 62.021/62.021 -> Mace4 Output: 62.021/62.021 ============================== Mace4 ================================= 62.021/62.021 Mace4 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81708 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:28:54 2022 62.021/62.021 The command was "./mace4 -c -f /tmp/mace481697-2.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/mace481697-2.in 62.021/62.021 62.021/62.021 assign(max_seconds,20). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 62.021/62.021 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement). 62.021/62.021 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement). 62.021/62.021 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement). 62.021/62.021 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement). 62.021/62.021 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement). 62.021/62.021 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement). 62.021/62.021 ->(zero(0),true) # label(replacement). 62.021/62.021 ->(zero(s(x1)),false) # label(replacement). 62.021/62.021 ->*(x,x) # label(reflexivity). 62.021/62.021 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 (->*(odd(x4),true) & ->*(even(x4),true))) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 6 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 7 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 8 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 9 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 10 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 62.021/62.021 11 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 62.021/62.021 12 (exists x4 (->*(odd(x4),true) & ->*(even(x4),true))) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 formulas(mace4_clauses). 62.021/62.021 -->(x,y) | ->(even(x),even(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(odd(x),odd(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(zero(x),zero(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(s(x),s(y)) # label(congruence). 62.021/62.021 -->*(even(x),true) | ->(even(s(x)),false) # label(replacement). 62.021/62.021 -->*(odd(x),true) | ->(even(s(x)),true) # label(replacement). 62.021/62.021 -->*(zero(x),true) | ->(even(x),true) # label(replacement). 62.021/62.021 -->*(odd(x),true) | ->(odd(s(x)),false) # label(replacement). 62.021/62.021 -->*(even(x),true) | ->(odd(s(x)),true) # label(replacement). 62.021/62.021 -->*(zero(x),true) | ->(odd(x),false) # label(replacement). 62.021/62.021 ->(zero(0),true) # label(replacement). 62.021/62.021 ->(zero(s(x)),false) # label(replacement). 62.021/62.021 ->*(x,x) # label(reflexivity). 62.021/62.021 -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). 62.021/62.021 -->*(odd(x),true) | -->*(even(x),true) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 % There are no natural numbers in the input. 62.021/62.021 62.021/62.021 ============================== DOMAIN SIZE 2 ========================= 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 For domain size 2. 62.021/62.021 62.021/62.021 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 62.021/62.021 Ground clauses: seen=43, kept=39. 62.021/62.021 Selections=20, assignments=39, propagations=76, current_models=0. 62.021/62.021 Rewrite_terms=451, rewrite_bools=307, indexes=115. 62.021/62.021 Rules_from_neg_clauses=18, cross_offs=18. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 ============================== DOMAIN SIZE 3 ========================= 62.021/62.021 62.021/62.021 ============================== MODEL ================================= 62.021/62.021 62.021/62.021 interpretation( 3, [number=1, seconds=0], [ 62.021/62.021 62.021/62.021 function(0, [ 0 ]), 62.021/62.021 62.021/62.021 function(false, [ 0 ]), 62.021/62.021 62.021/62.021 function(true, [ 1 ]), 62.021/62.021 62.021/62.021 function(even(_), [ 1, 0, 1 ]), 62.021/62.021 62.021/62.021 function(odd(_), [ 0, 1, 0 ]), 62.021/62.021 62.021/62.021 function(zero(_), [ 1, 0, 0 ]), 62.021/62.021 62.021/62.021 function(s(_), [ 1, 2, 1 ]), 62.021/62.021 62.021/62.021 relation(->*(_,_), [ 62.021/62.021 1, 0, 0, 62.021/62.021 0, 1, 0, 62.021/62.021 0, 0, 1 ]), 62.021/62.021 62.021/62.021 relation(->(_,_), [ 62.021/62.021 1, 0, 0, 62.021/62.021 0, 1, 0, 62.021/62.021 0, 0, 1 ]) 62.021/62.021 ]). 62.021/62.021 62.021/62.021 ============================== end of model ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 For domain size 3. 62.021/62.021 62.021/62.021 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 62.021/62.021 Ground clauses: seen=91, kept=82. 62.021/62.021 Selections=28, assignments=51, propagations=84, current_models=1. 62.021/62.021 Rewrite_terms=469, rewrite_bools=451, indexes=110. 62.021/62.021 Rules_from_neg_clauses=3, cross_offs=15. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 Exiting with 1 model. 62.021/62.021 62.021/62.021 Process 81708 exit (max_models) Wed Mar 9 10:28:54 2022 62.021/62.021 The process finished Wed Mar 9 10:28:54 2022 62.021/62.021 62.021/62.021 62.021/62.021 Mace4 cooked interpretation: 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 The problem is infeasible. 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Weakly orthogonal, Almost orthogonal, Orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Maybe right-stable CTRS, Overlay CTRS 62.021/62.021 Maybe normal CTRS, Maybe almost normal CTRS 62.021/62.021 Maybe terminating CTRS, Maybe operational terminating CTRS, Joinable CCPs 62.021/62.021 Maybe level confluent 62.021/62.021 Maybe confluent 62.021/62.021 62.021/62.021 Resulting CCPs: 62.021/62.021 No CCPs left 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 Underlying TRS Termination Processor: 62.021/62.021 62.021/62.021 Resulting Underlying TRS: 62.021/62.021 (VAR x x') 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (false) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false 62.021/62.021 even(s(x)) -> true 62.021/62.021 even(x) -> true 62.021/62.021 odd(s(x)) -> false 62.021/62.021 odd(s(x)) -> true 62.021/62.021 odd(x) -> false 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 Underlying TRS terminating? 62.021/62.021 YES 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 (VAR vu95NonEmpty x xu39) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> ffalse 62.021/62.021 even(s(x)) -> ftrue 62.021/62.021 even(x) -> ftrue 62.021/62.021 odd(s(x)) -> ffalse 62.021/62.021 odd(s(x)) -> ftrue 62.021/62.021 odd(x) -> ffalse 62.021/62.021 zero(num0) -> ftrue 62.021/62.021 zero(s(x)) -> ffalse 62.021/62.021 ) 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Dependency Pairs Processor: 62.021/62.021 -> Pairs: 62.021/62.021 Empty 62.021/62.021 -> Rules: 62.021/62.021 even(s(x)) -> ffalse 62.021/62.021 even(s(x)) -> ftrue 62.021/62.021 even(x) -> ftrue 62.021/62.021 odd(s(x)) -> ffalse 62.021/62.021 odd(s(x)) -> ftrue 62.021/62.021 odd(x) -> ffalse 62.021/62.021 zero(num0) -> ftrue 62.021/62.021 zero(s(x)) -> ffalse 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 SCC Processor: 62.021/62.021 -> Pairs: 62.021/62.021 Empty 62.021/62.021 -> Rules: 62.021/62.021 even(s(x)) -> ffalse 62.021/62.021 even(s(x)) -> ftrue 62.021/62.021 even(x) -> ftrue 62.021/62.021 odd(s(x)) -> ffalse 62.021/62.021 odd(s(x)) -> ftrue 62.021/62.021 odd(x) -> ffalse 62.021/62.021 zero(num0) -> ftrue 62.021/62.021 zero(s(x)) -> ffalse 62.021/62.021 ->Strongly Connected Components: 62.021/62.021 There is no strongly connected component 62.021/62.021 62.021/62.021 The problem is finite. 62.021/62.021 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Weakly orthogonal, Almost orthogonal, Orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Maybe right-stable CTRS, Overlay CTRS 62.021/62.021 Maybe normal CTRS, Maybe almost normal CTRS 62.021/62.021 Terminating CTRS, Maybe operational terminating CTRS, Joinable CCPs 62.021/62.021 Maybe level confluent 62.021/62.021 Maybe confluent 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 Confluence Problem: 62.021/62.021 (VAR x x') 62.021/62.021 (REPLACEMENT-MAP 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 Critical Pairs: 62.021/62.021 62.021/62.021 Terminating:YES 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Weakly orthogonal, Almost orthogonal, Orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Maybe right-stable CTRS, Overlay CTRS 62.021/62.021 Maybe normal CTRS, Maybe almost normal CTRS 62.021/62.021 Terminating CTRS, Maybe operational terminating CTRS, Joinable CCPs 62.021/62.021 Maybe level confluent 62.021/62.021 Maybe confluent 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 62.021/62.021 Right Stable Processor: 62.021/62.021 Right-stable CTRS 62.021/62.021 Justification: 62.021/62.021 62.021/62.021 -> Term right-stability conditions: 62.021/62.021 Term: true 62.021/62.021 Right-stable term 62.021/62.021 Linear constructor form 62.021/62.021 Don't know if term is a ground normal form (not needed) 62.021/62.021 Right-stability condition achieved 62.021/62.021 A call to InfChecker wasn't needed 62.021/62.021 62.021/62.021 62.021/62.021 -> Term right-stability conditions: 62.021/62.021 Term: true 62.021/62.021 Right-stable term 62.021/62.021 Linear constructor form 62.021/62.021 Don't know if term is a ground normal form (not needed) 62.021/62.021 Right-stability condition achieved 62.021/62.021 A call to InfChecker wasn't needed 62.021/62.021 62.021/62.021 62.021/62.021 -> Term right-stability conditions: 62.021/62.021 Term: true 62.021/62.021 Right-stable term 62.021/62.021 Linear constructor form 62.021/62.021 Don't know if term is a ground normal form (not needed) 62.021/62.021 Right-stability condition achieved 62.021/62.021 A call to InfChecker wasn't needed 62.021/62.021 62.021/62.021 62.021/62.021 -> Term right-stability conditions: 62.021/62.021 Term: true 62.021/62.021 Right-stable term 62.021/62.021 Linear constructor form 62.021/62.021 Don't know if term is a ground normal form (not needed) 62.021/62.021 Right-stability condition achieved 62.021/62.021 A call to InfChecker wasn't needed 62.021/62.021 62.021/62.021 62.021/62.021 -> Term right-stability conditions: 62.021/62.021 Term: true 62.021/62.021 Right-stable term 62.021/62.021 Linear constructor form 62.021/62.021 Don't know if term is a ground normal form (not needed) 62.021/62.021 Right-stability condition achieved 62.021/62.021 A call to InfChecker wasn't needed 62.021/62.021 62.021/62.021 62.021/62.021 -> Term right-stability conditions: 62.021/62.021 Term: true 62.021/62.021 Right-stable term 62.021/62.021 Linear constructor form 62.021/62.021 Don't know if term is a ground normal form (not needed) 62.021/62.021 Right-stability condition achieved 62.021/62.021 A call to InfChecker wasn't needed 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Weakly orthogonal, Almost orthogonal, Orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Right-stable CTRS, Overlay CTRS 62.021/62.021 Maybe normal CTRS, Almost normal CTRS 62.021/62.021 Terminating CTRS, Maybe operational terminating CTRS, Joinable CCPs 62.021/62.021 Level confluent 62.021/62.021 Confluent 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 Confluence Problem: 62.021/62.021 (VAR x x') 62.021/62.021 (REPLACEMENT-MAP 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 ) 62.021/62.021 Critical Pairs: 62.021/62.021 62.021/62.021 Terminating:YES 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Weakly orthogonal, Almost orthogonal, Orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Right-stable CTRS, Overlay CTRS 62.021/62.021 Maybe normal CTRS, Almost normal CTRS 62.021/62.021 Terminating CTRS, Maybe operational terminating CTRS, Joinable CCPs 62.021/62.021 Level confluent 62.021/62.021 Confluent 62.021/62.021 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 62.021/62.021 62.021/62.021 Normal RConds Processor: 62.021/62.021 YES 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Infeasibility Problem: 62.021/62.021 [(VAR vNonEmpty x x1 vNonEmpty z) 62.021/62.021 (STRATEGY CONTEXTSENSITIVE 62.021/62.021 (even 1) 62.021/62.021 (odd 1) 62.021/62.021 (zero 1) 62.021/62.021 (0) 62.021/62.021 (fSNonEmpty) 62.021/62.021 (false) 62.021/62.021 (s 1) 62.021/62.021 (true) 62.021/62.021 ) 62.021/62.021 (RULES 62.021/62.021 even(s(x)) -> false | even(x) ->* true 62.021/62.021 even(s(x)) -> true | odd(x) ->* true 62.021/62.021 even(x) -> true | zero(x) ->* true 62.021/62.021 odd(s(x)) -> false | odd(x) ->* true 62.021/62.021 odd(s(x)) -> true | even(x) ->* true 62.021/62.021 odd(x) -> false | zero(x) ->* true 62.021/62.021 zero(0) -> true 62.021/62.021 zero(s(x)) -> false 62.021/62.021 )] 62.021/62.021 62.021/62.021 Infeasibility Conditions: 62.021/62.021 true -> z 62.021/62.021 62.021/62.021 Problem 1: 62.021/62.021 62.021/62.021 Obtaining a model using Mace4: 62.021/62.021 62.021/62.021 -> Usable Rules: 62.021/62.021 Empty 62.021/62.021 62.021/62.021 -> Mace4 Output: 62.021/62.021 ============================== Mace4 ================================= 62.021/62.021 Mace4 (64) version 2009-11A, November 2009. 62.021/62.021 Process 81786 was started by ubuntu on ubuntu, 62.021/62.021 Wed Mar 9 10:29:15 2022 62.021/62.021 The command was "./mace4 -c -f /tmp/mace481773-2.in". 62.021/62.021 ============================== end of head =========================== 62.021/62.021 62.021/62.021 ============================== INPUT ================================= 62.021/62.021 62.021/62.021 % Reading from file /tmp/mace481773-2.in 62.021/62.021 62.021/62.021 assign(max_seconds,13). 62.021/62.021 62.021/62.021 formulas(assumptions). 62.021/62.021 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence). 62.021/62.021 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 formulas(goals). 62.021/62.021 (exists x4 ->(true,x4)) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of input ========================== 62.021/62.021 62.021/62.021 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 62.021/62.021 62.021/62.021 % Formulas that are not ordinary clauses: 62.021/62.021 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 3 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 4 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 62.021/62.021 5 (exists x4 ->(true,x4)) # label(goal) # label(non_clause) # label(goal). [goal]. 62.021/62.021 62.021/62.021 ============================== end of process non-clausal formulas === 62.021/62.021 62.021/62.021 ============================== CLAUSES FOR SEARCH ==================== 62.021/62.021 62.021/62.021 formulas(mace4_clauses). 62.021/62.021 -->(x,y) | ->(even(x),even(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(odd(x),odd(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(zero(x),zero(y)) # label(congruence). 62.021/62.021 -->(x,y) | ->(s(x),s(y)) # label(congruence). 62.021/62.021 -->(true,x) # label(goal). 62.021/62.021 end_of_list. 62.021/62.021 62.021/62.021 ============================== end of clauses for search ============= 62.021/62.021 62.021/62.021 % There are no natural numbers in the input. 62.021/62.021 62.021/62.021 ============================== DOMAIN SIZE 2 ========================= 62.021/62.021 62.021/62.021 ============================== MODEL ================================= 62.021/62.021 62.021/62.021 interpretation( 2, [number=1, seconds=0], [ 62.021/62.021 62.021/62.021 function(true, [ 0 ]), 62.021/62.021 62.021/62.021 function(even(_), [ 0, 0 ]), 62.021/62.021 62.021/62.021 function(odd(_), [ 0, 0 ]), 62.021/62.021 62.021/62.021 function(zero(_), [ 0, 0 ]), 62.021/62.021 62.021/62.021 function(s(_), [ 0, 0 ]), 62.021/62.021 62.021/62.021 relation(->(_,_), [ 62.021/62.021 0, 0, 62.021/62.021 0, 0 ]) 62.021/62.021 ]). 62.021/62.021 62.021/62.021 ============================== end of model ========================== 62.021/62.021 62.021/62.021 ============================== STATISTICS ============================ 62.021/62.021 62.021/62.021 For domain size 2. 62.021/62.021 62.021/62.021 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 62.021/62.021 Ground clauses: seen=18, kept=18. 62.021/62.021 Selections=9, assignments=9, propagations=4, current_models=1. 62.021/62.021 Rewrite_terms=34, rewrite_bools=20, indexes=2. 62.021/62.021 Rules_from_neg_clauses=0, cross_offs=0. 62.021/62.021 62.021/62.021 ============================== end of statistics ===================== 62.021/62.021 62.021/62.021 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 62.021/62.021 62.021/62.021 Exiting with 1 model. 62.021/62.021 62.021/62.021 Process 81786 exit (max_models) Wed Mar 9 10:29:15 2022 62.021/62.021 The process finished Wed Mar 9 10:29:15 2022 62.021/62.021 62.021/62.021 62.021/62.021 Mace4 cooked interpretation: 62.021/62.021 62.021/62.021 62.021/62.021 62.021/62.021 The problem is infeasible. 62.021/62.021 62.021/62.021 62.021/62.021 -> Problem conclusions: 62.021/62.021 Left linear, Right linear, Linear 62.021/62.021 Weakly orthogonal, Almost orthogonal, Orthogonal 62.021/62.021 CTRS Type: 1 62.021/62.021 Deterministic, Strongly deterministic 62.021/62.021 Oriented CTRS, Properly oriented CTRS, Not join CTRS, Not semiequational CTRS 62.021/62.021 Right-stable CTRS, Overlay CTRS 62.021/62.021 Normal CTRS, Almost normal CTRS 62.021/62.021 Terminating CTRS, Maybe operational terminating CTRS, Joinable CCPs 62.021/62.021 Level confluent 62.021/62.021 Confluent 62.021/62.021 62.021/62.021 The problem is joinable. 62.021/62.021 99.25user 2.83system 1:02.21elapsed 164%CPU (0avgtext+0avgdata 119484maxresident)k 62.021/62.021 8inputs+0outputs (0major+228883minor)pagefaults 0swaps