45.093/45.093 YES 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 Confluence Problem: 45.093/45.093 (VAR vNonEmpty:S x:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 ) 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Inlining of Conditions Processor [STERN17]: 45.093/45.093 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 Confluence Problem: 45.093/45.093 (VAR vNonEmpty:S x:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 ) 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Clean CTRS Processor: 45.093/45.093 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 Confluence Problem: 45.093/45.093 (VAR x:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 ) 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 45.093/45.093 CRule InfChecker Info: 45.093/45.093 even(0) -> true 45.093/45.093 Rule remains 45.093/45.093 Proof: 45.093/45.093 NO_CONDS 45.093/45.093 45.093/45.093 CRule InfChecker Info: 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 Rule remains 45.093/45.093 Proof: 45.093/45.093 NO 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Infeasibility Problem: 45.093/45.093 [(VAR vNonEmpty:S vNonEmpty:S:S x:S:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S:S)) -> false | odd(x:S:S) ->* false 45.093/45.093 even(s(x:S:S)) -> true | odd(x:S:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S:S)) -> false | even(x:S:S) ->* false 45.093/45.093 odd(s(x:S:S)) -> true | even(x:S:S) ->* true 45.093/45.093 )] 45.093/45.093 45.093/45.093 Infeasibility Conditions: 45.093/45.093 odd(x:S:S) ->* false 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Obtaining a proof using Prover9: 45.093/45.093 45.093/45.093 -> Prover9 Output: 45.093/45.093 ============================== Prover9 =============================== 45.093/45.093 Prover9 (64) version 2009-11A, November 2009. 45.093/45.093 Process 105197 was started by ubuntu on ubuntu, 45.093/45.093 Fri Jul 16 14:50:43 2021 45.093/45.093 The command was "./prover9 -f /tmp/prover9105188-0.in". 45.093/45.093 ============================== end of head =========================== 45.093/45.093 45.093/45.093 ============================== INPUT ================================= 45.093/45.093 45.093/45.093 % Reading from file /tmp/prover9105188-0.in 45.093/45.093 45.093/45.093 assign(max_seconds,20). 45.093/45.093 45.093/45.093 formulas(assumptions). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). 45.093/45.093 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 45.093/45.093 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 45.093/45.093 ->_s0(even(0),true) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement). 45.093/45.093 ->_s0(odd(0),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(goals). 45.093/45.093 (exists x2 ->*_s0(odd(x2),false)) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of input ========================== 45.093/45.093 45.093/45.093 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 45.093/45.093 45.093/45.093 % Formulas that are not ordinary clauses: 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 2 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 3 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 5 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 6 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 7 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 8 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(odd(x2),false)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 45.093/45.093 ============================== end of process non-clausal formulas === 45.093/45.093 45.093/45.093 ============================== PROCESS INITIAL CLAUSES =============== 45.093/45.093 45.093/45.093 % Clauses before input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 -->*_s0(odd(x),false) # label(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== PREDICATE ELIMINATION ================= 45.093/45.093 45.093/45.093 No predicates eliminated. 45.093/45.093 45.093/45.093 ============================== end predicate elimination ============= 45.093/45.093 45.093/45.093 Auto_denials: 45.093/45.093 % copying label goal to answer in negative clause 45.093/45.093 45.093/45.093 Term ordering decisions: 45.093/45.093 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 45.093/45.093 Function symbol precedence: function_order([ false, true, 0, even, odd, s ]). 45.093/45.093 After inverse_order: (no changes). 45.093/45.093 Unfolding symbols: (none). 45.093/45.093 45.093/45.093 Auto_inference settings: 45.093/45.093 % set(neg_binary_resolution). % (HNE depth_diff=-7) 45.093/45.093 % clear(ordered_res). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution) -> set(pos_ur_resolution). 45.093/45.093 % set(ur_resolution) -> set(neg_ur_resolution). 45.093/45.093 45.093/45.093 Auto_process settings: (no changes). 45.093/45.093 45.093/45.093 kept: 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 kept: 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 kept: 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 kept: 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 kept: 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 kept: 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 kept: 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 kept: 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 kept: 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 kept: 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 kept: 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 kept: 21 -->*_s0(odd(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 45.093/45.093 ============================== end of process initial clauses ======== 45.093/45.093 45.093/45.093 ============================== CLAUSES FOR SEARCH ==================== 45.093/45.093 45.093/45.093 % Clauses after input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 21 -->*_s0(odd(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of clauses for search ============= 45.093/45.093 45.093/45.093 ============================== SEARCH ================================ 45.093/45.093 45.093/45.093 % Starting search at 0.00 seconds. 45.093/45.093 45.093/45.093 given #1 (I,wt=3): 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 45.093/45.093 given #2 (I,wt=9): 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 45.093/45.093 given #3 (I,wt=8): 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 45.093/45.093 given #4 (I,wt=8): 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 45.093/45.093 given #5 (I,wt=8): 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 45.093/45.093 given #6 (I,wt=4): 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 given #7 (I,wt=9): 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 45.093/45.093 given #8 (I,wt=4): 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 ============================== PROOF ================================= 45.093/45.093 45.093/45.093 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 45.093/45.093 % Length of proof is 8. 45.093/45.093 % Level of proof is 3. 45.093/45.093 % Maximum clause weight is 9.000. 45.093/45.093 % Given clauses 8. 45.093/45.093 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(odd(x2),false)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 21 -->*_s0(odd(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 29 ->*_s0(odd(0),false). [ur(11,a,18,a,b,10,a)]. 45.093/45.093 30 $F # answer(goal). [resolve(29,a,21,a)]. 45.093/45.093 45.093/45.093 ============================== end of proof ========================== 45.093/45.093 45.093/45.093 ============================== STATISTICS ============================ 45.093/45.093 45.093/45.093 Given=8. Generated=20. Kept=20. proofs=1. 45.093/45.093 Usable=8. Sos=7. Demods=0. Limbo=3, Disabled=13. Hints=0. 45.093/45.093 Kept_by_rule=0, Deleted_by_rule=0. 45.093/45.093 Forward_subsumed=0. Back_subsumed=1. 45.093/45.093 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 45.093/45.093 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 45.093/45.093 Demod_attempts=0. Demod_rewrites=0. 45.093/45.093 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 45.093/45.093 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=10. 45.093/45.093 Megabytes=0.07. 45.093/45.093 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 45.093/45.093 45.093/45.093 ============================== end of statistics ===================== 45.093/45.093 45.093/45.093 ============================== end of search ========================= 45.093/45.093 45.093/45.093 THEOREM PROVED 45.093/45.093 45.093/45.093 Exiting with 1 proof. 45.093/45.093 45.093/45.093 Process 105197 exit (max_proofs) Fri Jul 16 14:50:43 2021 45.093/45.093 45.093/45.093 45.093/45.093 The problem is feasible. 45.093/45.093 45.093/45.093 45.093/45.093 CRule InfChecker Info: 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 Rule remains 45.093/45.093 Proof: 45.093/45.093 NO 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Infeasibility Problem: 45.093/45.093 [(VAR vNonEmpty:S vNonEmpty:S:S x:S:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S:S)) -> false | odd(x:S:S) ->* false 45.093/45.093 even(s(x:S:S)) -> true | odd(x:S:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S:S)) -> false | even(x:S:S) ->* false 45.093/45.093 odd(s(x:S:S)) -> true | even(x:S:S) ->* true 45.093/45.093 )] 45.093/45.093 45.093/45.093 Infeasibility Conditions: 45.093/45.093 odd(x:S:S) ->* true 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Obtaining a proof using Prover9: 45.093/45.093 45.093/45.093 -> Prover9 Output: 45.093/45.093 ============================== Prover9 =============================== 45.093/45.093 Prover9 (64) version 2009-11A, November 2009. 45.093/45.093 Process 105220 was started by ubuntu on ubuntu, 45.093/45.093 Fri Jul 16 14:50:43 2021 45.093/45.093 The command was "./prover9 -f /tmp/prover9105209-0.in". 45.093/45.093 ============================== end of head =========================== 45.093/45.093 45.093/45.093 ============================== INPUT ================================= 45.093/45.093 45.093/45.093 % Reading from file /tmp/prover9105209-0.in 45.093/45.093 45.093/45.093 assign(max_seconds,20). 45.093/45.093 45.093/45.093 formulas(assumptions). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). 45.093/45.093 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 45.093/45.093 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 45.093/45.093 ->_s0(even(0),true) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement). 45.093/45.093 ->_s0(odd(0),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(goals). 45.093/45.093 (exists x2 ->*_s0(odd(x2),true)) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of input ========================== 45.093/45.093 45.093/45.093 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 45.093/45.093 45.093/45.093 % Formulas that are not ordinary clauses: 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 2 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 3 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 5 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 6 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 7 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 8 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(odd(x2),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 45.093/45.093 ============================== end of process non-clausal formulas === 45.093/45.093 45.093/45.093 ============================== PROCESS INITIAL CLAUSES =============== 45.093/45.093 45.093/45.093 % Clauses before input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 -->*_s0(odd(x),true) # label(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== PREDICATE ELIMINATION ================= 45.093/45.093 45.093/45.093 No predicates eliminated. 45.093/45.093 45.093/45.093 ============================== end predicate elimination ============= 45.093/45.093 45.093/45.093 Auto_denials: 45.093/45.093 % copying label goal to answer in negative clause 45.093/45.093 45.093/45.093 Term ordering decisions: 45.093/45.093 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 45.093/45.093 Function symbol precedence: function_order([ false, true, 0, even, odd, s ]). 45.093/45.093 After inverse_order: (no changes). 45.093/45.093 Unfolding symbols: (none). 45.093/45.093 45.093/45.093 Auto_inference settings: 45.093/45.093 % set(neg_binary_resolution). % (HNE depth_diff=-7) 45.093/45.093 % clear(ordered_res). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution) -> set(pos_ur_resolution). 45.093/45.093 % set(ur_resolution) -> set(neg_ur_resolution). 45.093/45.093 45.093/45.093 Auto_process settings: (no changes). 45.093/45.093 45.093/45.093 kept: 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 kept: 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 kept: 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 kept: 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 kept: 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 kept: 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 kept: 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 kept: 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 kept: 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 kept: 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 kept: 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 kept: 21 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 45.093/45.093 ============================== end of process initial clauses ======== 45.093/45.093 45.093/45.093 ============================== CLAUSES FOR SEARCH ==================== 45.093/45.093 45.093/45.093 % Clauses after input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 21 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of clauses for search ============= 45.093/45.093 45.093/45.093 ============================== SEARCH ================================ 45.093/45.093 45.093/45.093 % Starting search at 0.00 seconds. 45.093/45.093 45.093/45.093 given #1 (I,wt=3): 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 45.093/45.093 given #2 (I,wt=9): 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 45.093/45.093 given #3 (I,wt=8): 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 45.093/45.093 given #4 (I,wt=8): 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 45.093/45.093 given #5 (I,wt=8): 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 45.093/45.093 given #6 (I,wt=4): 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 given #7 (I,wt=9): 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 45.093/45.093 given #8 (I,wt=4): 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 given #9 (I,wt=9): 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 45.093/45.093 given #10 (I,wt=9): 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 45.093/45.093 given #11 (I,wt=4): 21 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 45.093/45.093 given #12 (A,wt=6): 22 ->_s0(s(even(0)),s(true)). [ur(14,a,15,a)]. 45.093/45.093 45.093/45.093 given #13 (F,wt=3): 32 -->*_s0(false,true) # answer(goal). [ur(11,a,18,a,c,21,a)]. 45.093/45.093 45.093/45.093 given #14 (F,wt=3): 38 -->_s0(false,true) # answer(goal). [ur(11,b,10,a,c,32,a)]. 45.093/45.093 45.093/45.093 given #15 (F,wt=4): 31 -->_s0(odd(x),true) # answer(goal). [ur(11,b,10,a,c,21,a)]. 45.093/45.093 45.093/45.093 ============================== PROOF ================================= 45.093/45.093 45.093/45.093 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 45.093/45.093 % Length of proof is 12. 45.093/45.093 % Level of proof is 4. 45.093/45.093 % Maximum clause weight is 9.000. 45.093/45.093 % Given clauses 15. 45.093/45.093 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 8 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(odd(x2),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 21 -->*_s0(odd(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 25 ->*_s0(even(0),true). [ur(11,a,15,a,b,10,a)]. 45.093/45.093 31 -->_s0(odd(x),true) # answer(goal). [ur(11,b,10,a,c,21,a)]. 45.093/45.093 39 -->*_s0(even(x),true) # answer(goal). [resolve(31,a,20,b)]. 45.093/45.093 40 $F # answer(goal). [resolve(39,a,25,a)]. 45.093/45.093 45.093/45.093 ============================== end of proof ========================== 45.093/45.093 45.093/45.093 ============================== STATISTICS ============================ 45.093/45.093 45.093/45.093 Given=15. Generated=30. Kept=30. proofs=1. 45.093/45.093 Usable=15. Sos=13. Demods=0. Limbo=0, Disabled=13. Hints=0. 45.093/45.093 Kept_by_rule=0, Deleted_by_rule=0. 45.093/45.093 Forward_subsumed=0. Back_subsumed=1. 45.093/45.093 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 45.093/45.093 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 45.093/45.093 Demod_attempts=0. Demod_rewrites=0. 45.093/45.093 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 45.093/45.093 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=14. 45.093/45.093 Megabytes=0.09. 45.093/45.093 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 45.093/45.093 45.093/45.093 ============================== end of statistics ===================== 45.093/45.093 45.093/45.093 ============================== end of search ========================= 45.093/45.093 45.093/45.093 THEOREM PROVED 45.093/45.093 45.093/45.093 Exiting with 1 proof. 45.093/45.093 45.093/45.093 Process 105220 exit (max_proofs) Fri Jul 16 14:50:43 2021 45.093/45.093 45.093/45.093 45.093/45.093 The problem is feasible. 45.093/45.093 45.093/45.093 45.093/45.093 CRule InfChecker Info: 45.093/45.093 odd(0) -> false 45.093/45.093 Rule remains 45.093/45.093 Proof: 45.093/45.093 NO_CONDS 45.093/45.093 45.093/45.093 CRule InfChecker Info: 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 Rule remains 45.093/45.093 Proof: 45.093/45.093 NO 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Infeasibility Problem: 45.093/45.093 [(VAR vNonEmpty:S vNonEmpty:S:S x:S:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S:S)) -> false | odd(x:S:S) ->* false 45.093/45.093 even(s(x:S:S)) -> true | odd(x:S:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S:S)) -> false | even(x:S:S) ->* false 45.093/45.093 odd(s(x:S:S)) -> true | even(x:S:S) ->* true 45.093/45.093 )] 45.093/45.093 45.093/45.093 Infeasibility Conditions: 45.093/45.093 even(x:S:S) ->* false 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Obtaining a proof using Prover9: 45.093/45.093 45.093/45.093 -> Prover9 Output: 45.093/45.093 ============================== Prover9 =============================== 45.093/45.093 Prover9 (64) version 2009-11A, November 2009. 45.093/45.093 Process 105243 was started by ubuntu on ubuntu, 45.093/45.093 Fri Jul 16 14:50:43 2021 45.093/45.093 The command was "./prover9 -f /tmp/prover9105232-0.in". 45.093/45.093 ============================== end of head =========================== 45.093/45.093 45.093/45.093 ============================== INPUT ================================= 45.093/45.093 45.093/45.093 % Reading from file /tmp/prover9105232-0.in 45.093/45.093 45.093/45.093 assign(max_seconds,20). 45.093/45.093 45.093/45.093 formulas(assumptions). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). 45.093/45.093 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 45.093/45.093 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 45.093/45.093 ->_s0(even(0),true) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement). 45.093/45.093 ->_s0(odd(0),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(goals). 45.093/45.093 (exists x2 ->*_s0(even(x2),false)) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of input ========================== 45.093/45.093 45.093/45.093 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 45.093/45.093 45.093/45.093 % Formulas that are not ordinary clauses: 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 2 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 3 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 5 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 6 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 7 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 8 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(even(x2),false)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 45.093/45.093 ============================== end of process non-clausal formulas === 45.093/45.093 45.093/45.093 ============================== PROCESS INITIAL CLAUSES =============== 45.093/45.093 45.093/45.093 % Clauses before input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 -->*_s0(even(x),false) # label(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== PREDICATE ELIMINATION ================= 45.093/45.093 45.093/45.093 No predicates eliminated. 45.093/45.093 45.093/45.093 ============================== end predicate elimination ============= 45.093/45.093 45.093/45.093 Auto_denials: 45.093/45.093 % copying label goal to answer in negative clause 45.093/45.093 45.093/45.093 Term ordering decisions: 45.093/45.093 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 45.093/45.093 Function symbol precedence: function_order([ false, true, 0, even, odd, s ]). 45.093/45.093 After inverse_order: (no changes). 45.093/45.093 Unfolding symbols: (none). 45.093/45.093 45.093/45.093 Auto_inference settings: 45.093/45.093 % set(neg_binary_resolution). % (HNE depth_diff=-7) 45.093/45.093 % clear(ordered_res). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution) -> set(pos_ur_resolution). 45.093/45.093 % set(ur_resolution) -> set(neg_ur_resolution). 45.093/45.093 45.093/45.093 Auto_process settings: (no changes). 45.093/45.093 45.093/45.093 kept: 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 kept: 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 kept: 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 kept: 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 kept: 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 kept: 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 kept: 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 kept: 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 kept: 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 kept: 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 kept: 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 kept: 21 -->*_s0(even(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 45.093/45.093 ============================== end of process initial clauses ======== 45.093/45.093 45.093/45.093 ============================== CLAUSES FOR SEARCH ==================== 45.093/45.093 45.093/45.093 % Clauses after input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 21 -->*_s0(even(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of clauses for search ============= 45.093/45.093 45.093/45.093 ============================== SEARCH ================================ 45.093/45.093 45.093/45.093 % Starting search at 0.00 seconds. 45.093/45.093 45.093/45.093 given #1 (I,wt=3): 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 45.093/45.093 given #2 (I,wt=9): 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 45.093/45.093 given #3 (I,wt=8): 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 45.093/45.093 given #4 (I,wt=8): 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 45.093/45.093 given #5 (I,wt=8): 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 45.093/45.093 given #6 (I,wt=4): 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 given #7 (I,wt=9): 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 45.093/45.093 given #8 (I,wt=9): 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 45.093/45.093 given #9 (I,wt=4): 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 given #10 (I,wt=9): 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 45.093/45.093 given #11 (I,wt=4): 21 -->*_s0(even(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 45.093/45.093 given #12 (A,wt=6): 22 ->_s0(s(even(0)),s(true)). [ur(14,a,15,a)]. 45.093/45.093 45.093/45.093 given #13 (F,wt=3): 32 -->*_s0(true,false) # answer(goal). [ur(11,a,15,a,c,21,a)]. 45.093/45.093 45.093/45.093 given #14 (F,wt=3): 38 -->_s0(true,false) # answer(goal). [ur(11,b,10,a,c,32,a)]. 45.093/45.093 45.093/45.093 given #15 (F,wt=4): 31 -->_s0(even(x),false) # answer(goal). [ur(11,b,10,a,c,21,a)]. 45.093/45.093 45.093/45.093 ============================== PROOF ================================= 45.093/45.093 45.093/45.093 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 45.093/45.093 % Length of proof is 12. 45.093/45.093 % Level of proof is 4. 45.093/45.093 % Maximum clause weight is 9.000. 45.093/45.093 % Given clauses 15. 45.093/45.093 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 5 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(even(x2),false)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 21 -->*_s0(even(x),false) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 29 ->*_s0(odd(0),false). [ur(11,a,18,a,b,10,a)]. 45.093/45.093 31 -->_s0(even(x),false) # answer(goal). [ur(11,b,10,a,c,21,a)]. 45.093/45.093 39 -->*_s0(odd(x),false) # answer(goal). [resolve(31,a,16,b)]. 45.093/45.093 40 $F # answer(goal). [resolve(39,a,29,a)]. 45.093/45.093 45.093/45.093 ============================== end of proof ========================== 45.093/45.093 45.093/45.093 ============================== STATISTICS ============================ 45.093/45.093 45.093/45.093 Given=15. Generated=30. Kept=30. proofs=1. 45.093/45.093 Usable=15. Sos=13. Demods=0. Limbo=0, Disabled=13. Hints=0. 45.093/45.093 Kept_by_rule=0, Deleted_by_rule=0. 45.093/45.093 Forward_subsumed=0. Back_subsumed=1. 45.093/45.093 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 45.093/45.093 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 45.093/45.093 Demod_attempts=0. Demod_rewrites=0. 45.093/45.093 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 45.093/45.093 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=14. 45.093/45.093 Megabytes=0.09. 45.093/45.093 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 45.093/45.093 45.093/45.093 ============================== end of statistics ===================== 45.093/45.093 45.093/45.093 ============================== end of search ========================= 45.093/45.093 45.093/45.093 THEOREM PROVED 45.093/45.093 45.093/45.093 Exiting with 1 proof. 45.093/45.093 45.093/45.093 Process 105243 exit (max_proofs) Fri Jul 16 14:50:43 2021 45.093/45.093 45.093/45.093 45.093/45.093 The problem is feasible. 45.093/45.093 45.093/45.093 45.093/45.093 CRule InfChecker Info: 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 Rule remains 45.093/45.093 Proof: 45.093/45.093 NO 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Infeasibility Problem: 45.093/45.093 [(VAR vNonEmpty:S vNonEmpty:S:S x:S:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S:S)) -> false | odd(x:S:S) ->* false 45.093/45.093 even(s(x:S:S)) -> true | odd(x:S:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S:S)) -> false | even(x:S:S) ->* false 45.093/45.093 odd(s(x:S:S)) -> true | even(x:S:S) ->* true 45.093/45.093 )] 45.093/45.093 45.093/45.093 Infeasibility Conditions: 45.093/45.093 even(x:S:S) ->* true 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Obtaining a proof using Prover9: 45.093/45.093 45.093/45.093 -> Prover9 Output: 45.093/45.093 ============================== Prover9 =============================== 45.093/45.093 Prover9 (64) version 2009-11A, November 2009. 45.093/45.093 Process 105261 was started by ubuntu on ubuntu, 45.093/45.093 Fri Jul 16 14:50:43 2021 45.093/45.093 The command was "./prover9 -f /tmp/prover9105253-0.in". 45.093/45.093 ============================== end of head =========================== 45.093/45.093 45.093/45.093 ============================== INPUT ================================= 45.093/45.093 45.093/45.093 % Reading from file /tmp/prover9105253-0.in 45.093/45.093 45.093/45.093 assign(max_seconds,20). 45.093/45.093 45.093/45.093 formulas(assumptions). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). 45.093/45.093 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 45.093/45.093 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence). 45.093/45.093 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 45.093/45.093 ->_s0(even(0),true) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement). 45.093/45.093 ->_s0(odd(0),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement). 45.093/45.093 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(goals). 45.093/45.093 (exists x2 ->*_s0(even(x2),true)) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of input ========================== 45.093/45.093 45.093/45.093 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 45.093/45.093 45.093/45.093 % Formulas that are not ordinary clauses: 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 2 ->_s0(x1,y) -> ->_s0(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 3 ->_s0(x1,y) -> ->_s0(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 4 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 5 ->*_s0(odd(x2),false) -> ->_s0(even(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 6 ->*_s0(odd(x2),true) -> ->_s0(even(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 7 ->*_s0(even(x2),false) -> ->_s0(odd(s(x2)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 8 ->*_s0(even(x2),true) -> ->_s0(odd(s(x2)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(even(x2),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 45.093/45.093 ============================== end of process non-clausal formulas === 45.093/45.093 45.093/45.093 ============================== PROCESS INITIAL CLAUSES =============== 45.093/45.093 45.093/45.093 % Clauses before input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 -->*_s0(even(x),true) # label(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== PREDICATE ELIMINATION ================= 45.093/45.093 45.093/45.093 No predicates eliminated. 45.093/45.093 45.093/45.093 ============================== end predicate elimination ============= 45.093/45.093 45.093/45.093 Auto_denials: 45.093/45.093 % copying label goal to answer in negative clause 45.093/45.093 45.093/45.093 Term ordering decisions: 45.093/45.093 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 45.093/45.093 Function symbol precedence: function_order([ false, true, 0, even, odd, s ]). 45.093/45.093 After inverse_order: (no changes). 45.093/45.093 Unfolding symbols: (none). 45.093/45.093 45.093/45.093 Auto_inference settings: 45.093/45.093 % set(neg_binary_resolution). % (HNE depth_diff=-7) 45.093/45.093 % clear(ordered_res). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution). % (HNE depth_diff=-7) 45.093/45.093 % set(ur_resolution) -> set(pos_ur_resolution). 45.093/45.093 % set(ur_resolution) -> set(neg_ur_resolution). 45.093/45.093 45.093/45.093 Auto_process settings: (no changes). 45.093/45.093 45.093/45.093 kept: 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 kept: 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 kept: 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 kept: 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 kept: 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 kept: 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 kept: 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 kept: 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 kept: 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 kept: 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 kept: 20 -->*_s0(even(x),true) | ->_s0(odd(s(x)),true) # label(replacement). [clausify(8)]. 45.093/45.093 kept: 21 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 45.093/45.093 ============================== end of process initial clauses ======== 45.093/45.093 45.093/45.093 ============================== CLAUSES FOR SEARCH ==================== 45.093/45.093 45.093/45.093 % Clauses after input processing: 45.093/45.093 45.093/45.093 formulas(usable). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(sos). 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 16 -->*_s0(odd(x),false) | ->_s0(even(s(x)),false) # label(replacement). [clausify(5)]. 45.093/45.093 17 -->*_s0(odd(x),true) | ->_s0(even(s(x)),true) # label(replacement). [clausify(6)]. 45.093/45.093 18 ->_s0(odd(0),false) # label(replacement). [assumption]. 45.093/45.093 19 -->*_s0(even(x),false) | ->_s0(odd(s(x)),false) # label(replacement). [clausify(7)]. 45.093/45.093 21 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(demodulators). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of clauses for search ============= 45.093/45.093 45.093/45.093 ============================== SEARCH ================================ 45.093/45.093 45.093/45.093 % Starting search at 0.00 seconds. 45.093/45.093 45.093/45.093 given #1 (I,wt=3): 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 45.093/45.093 given #2 (I,wt=9): 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 45.093/45.093 given #3 (I,wt=8): 12 -->_s0(x,y) | ->_s0(even(x),even(y)) # label(congruence). [clausify(2)]. 45.093/45.093 45.093/45.093 given #4 (I,wt=8): 13 -->_s0(x,y) | ->_s0(odd(x),odd(y)) # label(congruence). [clausify(3)]. 45.093/45.093 45.093/45.093 given #5 (I,wt=8): 14 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(4)]. 45.093/45.093 45.093/45.093 given #6 (I,wt=4): 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 45.093/45.093 ============================== PROOF ================================= 45.093/45.093 45.093/45.093 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 45.093/45.093 % Length of proof is 8. 45.093/45.093 % Level of proof is 3. 45.093/45.093 % Maximum clause weight is 9.000. 45.093/45.093 % Given clauses 6. 45.093/45.093 45.093/45.093 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 ->*_s0(even(x2),true)) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 10 ->*_s0(x,x) # label(reflexivity). [assumption]. 45.093/45.093 11 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 45.093/45.093 15 ->_s0(even(0),true) # label(replacement). [assumption]. 45.093/45.093 21 -->*_s0(even(x),true) # label(goal) # answer(goal). [deny(9)]. 45.093/45.093 25 ->*_s0(even(0),true). [ur(11,a,15,a,b,10,a)]. 45.093/45.093 26 $F # answer(goal). [resolve(25,a,21,a)]. 45.093/45.093 45.093/45.093 ============================== end of proof ========================== 45.093/45.093 45.093/45.093 ============================== STATISTICS ============================ 45.093/45.093 45.093/45.093 Given=6. Generated=16. Kept=16. proofs=1. 45.093/45.093 Usable=6. Sos=5. Demods=0. Limbo=3, Disabled=13. Hints=0. 45.093/45.093 Kept_by_rule=0, Deleted_by_rule=0. 45.093/45.093 Forward_subsumed=0. Back_subsumed=1. 45.093/45.093 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 45.093/45.093 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 45.093/45.093 Demod_attempts=0. Demod_rewrites=0. 45.093/45.093 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 45.093/45.093 Nonunit_fsub_feature_tests=0. Nonunit_bsub_feature_tests=10. 45.093/45.093 Megabytes=0.07. 45.093/45.093 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 45.093/45.093 45.093/45.093 ============================== end of statistics ===================== 45.093/45.093 45.093/45.093 ============================== end of search ========================= 45.093/45.093 45.093/45.093 THEOREM PROVED 45.093/45.093 45.093/45.093 Exiting with 1 proof. 45.093/45.093 45.093/45.093 Process 105261 exit (max_proofs) Fri Jul 16 14:50:43 2021 45.093/45.093 45.093/45.093 45.093/45.093 The problem is feasible. 45.093/45.093 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 Confluence Problem: 45.093/45.093 (VAR x:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 ) 45.093/45.093 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 45.093/45.093 45.093/45.093 Critical Pairs Processor: 45.093/45.093 -> Rules: 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 -> Vars: 45.093/45.093 "x", "x", "x", "x" 45.093/45.093 -> FVars: 45.093/45.093 "x2", "x3", "x4", "x5" 45.093/45.093 -> PVars: 45.093/45.093 "x": ["x2", "x3", "x4", "x5"] 45.093/45.093 45.093/45.093 -> Rlps: 45.093/45.093 crule: even(0) -> true, id: 1, possubterms: even(0)-> [], 0-> [1] 45.093/45.093 crule: even(s(x2:S)) -> false | odd(x2:S) ->* false, id: 2, possubterms: even(s(x2:S))-> [], s(x2:S)-> [1] 45.093/45.093 crule: even(s(x3:S)) -> true | odd(x3:S) ->* true, id: 3, possubterms: even(s(x3:S))-> [], s(x3:S)-> [1] 45.093/45.093 crule: odd(0) -> false, id: 4, possubterms: odd(0)-> [], 0-> [1] 45.093/45.093 crule: odd(s(x4:S)) -> false | even(x4:S) ->* false, id: 5, possubterms: odd(s(x4:S))-> [], s(x4:S)-> [1] 45.093/45.093 crule: odd(s(x5:S)) -> true | even(x5:S) ->* true, id: 6, possubterms: odd(s(x5:S))-> [], s(x5:S)-> [1] 45.093/45.093 45.093/45.093 -> Unifications: 45.093/45.093 R3 unifies with R2 at p: [], l: even(s(x3:S)), lp: even(s(x3:S)), conds: {odd(x3:S) ->* true, odd(x:S) ->* false}, sig: {x3:S -> x:S}, l': even(s(x:S)), r: true, r': false 45.093/45.093 R6 unifies with R5 at p: [], l: odd(s(x5:S)), lp: odd(s(x5:S)), conds: {even(x5:S) ->* true, even(x:S) ->* false}, sig: {x5:S -> x:S}, l': odd(s(x:S)), r: true, r': false 45.093/45.093 45.093/45.093 -> Critical pairs info: 45.093/45.093 | even(x:S) ->* true, even(x:S) ->* false => Not trivial, Overlay, N1 45.093/45.093 | odd(x:S) ->* true, odd(x:S) ->* false => Not trivial, Overlay, N2 45.093/45.093 45.093/45.093 -> Problem conclusions: 45.093/45.093 Left linear, Right linear, Linear 45.093/45.093 Not weakly orthogonal, Not almost orthogonal, Not orthogonal 45.093/45.093 CTRS Type: 1 45.093/45.093 Deterministic, Strongly deterministic 45.093/45.093 Oriented CTRS, Properly oriented CTRS, Not join CTRS 45.093/45.093 Maybe right-stable CTRS, Overlay CTRS 45.093/45.093 Maybe normal CTRS, Maybe almost normal CTRS 45.093/45.093 Maybe terminating CTRS, Maybe joinable CCPs 45.093/45.093 Maybe level confluent 45.093/45.093 Maybe confluent 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 Clean Infeasible CCPs Processor: 45.093/45.093 Num of CPIs: 2 45.093/45.093 Timeout: 30 45.093/45.093 Timeout for each infeasibility problem: 30 s 45.093/45.093 | even(x:S) ->* true, even(x:S) ->* false => Not trivial, Overlay, N1 45.093/45.093 (PROBLEM INFEASIBILITY) 45.093/45.093 (VAR x) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x)) -> false | odd(x) ->* false 45.093/45.093 even(s(x)) -> true | odd(x) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x)) -> false | even(x) ->* false 45.093/45.093 odd(s(x)) -> true | even(x) ->* true) 45.093/45.093 (VAR x2) 45.093/45.093 (CONDITION even(x2) ->* true, even(x2) ->* false) 45.093/45.093 45.093/45.093 Proof: 45.093/45.093 YES 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Infeasibility Problem: 45.093/45.093 [(VAR vNonEmpty:S x:S x2:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 )] 45.093/45.093 45.093/45.093 Infeasibility Conditions: 45.093/45.093 even(x2:S) ->* true, even(x2:S) ->* false 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Obtaining a model using Mace4: 45.093/45.093 45.093/45.093 -> Usable Rules: 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 45.093/45.093 -> Mace4 Output: 45.093/45.093 ============================== Mace4 ================================= 45.093/45.093 Mace4 (64) version 2009-11A, November 2009. 45.093/45.093 Process 105306 was started by ubuntu on ubuntu, 45.093/45.093 Fri Jul 16 14:50:43 2021 45.093/45.093 The command was "./mace4 -c -f /tmp/mace4105288-2.in". 45.093/45.093 ============================== end of head =========================== 45.093/45.093 45.093/45.093 ============================== INPUT ================================= 45.093/45.093 45.093/45.093 % Reading from file /tmp/mace4105288-2.in 45.093/45.093 45.093/45.093 assign(max_seconds,10). 45.093/45.093 45.093/45.093 formulas(assumptions). 45.093/45.093 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). 45.093/45.093 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). 45.093/45.093 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 45.093/45.093 ->(even(0),true) # label(replacement). 45.093/45.093 ->*(odd(x1),false) -> ->(even(s(x1)),false) # label(replacement). 45.093/45.093 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement). 45.093/45.093 ->(odd(0),false) # label(replacement). 45.093/45.093 ->*(even(x1),false) -> ->(odd(s(x1)),false) # label(replacement). 45.093/45.093 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement). 45.093/45.093 ->*(x,x) # label(reflexivity). 45.093/45.093 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(goals). 45.093/45.093 (exists x2 (->*(even(x2),true) & ->*(even(x2),false))) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of input ========================== 45.093/45.093 45.093/45.093 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 45.093/45.093 45.093/45.093 % Formulas that are not ordinary clauses: 45.093/45.093 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 3 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 4 ->*(odd(x1),false) -> ->(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 5 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 6 ->*(even(x1),false) -> ->(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 7 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 8 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 (->*(even(x2),true) & ->*(even(x2),false))) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 45.093/45.093 ============================== end of process non-clausal formulas === 45.093/45.093 45.093/45.093 ============================== CLAUSES FOR SEARCH ==================== 45.093/45.093 45.093/45.093 formulas(mace4_clauses). 45.093/45.093 -->(x,y) | ->(even(x),even(y)) # label(congruence). 45.093/45.093 -->(x,y) | ->(odd(x),odd(y)) # label(congruence). 45.093/45.093 -->(x,y) | ->(s(x),s(y)) # label(congruence). 45.093/45.093 ->(even(0),true) # label(replacement). 45.093/45.093 -->*(odd(x),false) | ->(even(s(x)),false) # label(replacement). 45.093/45.093 -->*(odd(x),true) | ->(even(s(x)),true) # label(replacement). 45.093/45.093 ->(odd(0),false) # label(replacement). 45.093/45.093 -->*(even(x),false) | ->(odd(s(x)),false) # label(replacement). 45.093/45.093 -->*(even(x),true) | ->(odd(s(x)),true) # label(replacement). 45.093/45.093 ->*(x,x) # label(reflexivity). 45.093/45.093 -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). 45.093/45.093 -->*(even(x),true) | -->*(even(x),false) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of clauses for search ============= 45.093/45.093 45.093/45.093 % There are no natural numbers in the input. 45.093/45.093 45.093/45.093 ============================== DOMAIN SIZE 2 ========================= 45.093/45.093 45.093/45.093 ============================== MODEL ================================= 45.093/45.093 45.093/45.093 interpretation( 2, [number=1, seconds=0], [ 45.093/45.093 45.093/45.093 function(0, [ 0 ]), 45.093/45.093 45.093/45.093 function(false, [ 0 ]), 45.093/45.093 45.093/45.093 function(true, [ 1 ]), 45.093/45.093 45.093/45.093 function(even(_), [ 1, 0 ]), 45.093/45.093 45.093/45.093 function(odd(_), [ 0, 1 ]), 45.093/45.093 45.093/45.093 function(s(_), [ 1, 0 ]), 45.093/45.093 45.093/45.093 relation(->*(_,_), [ 45.093/45.093 1, 0, 45.093/45.093 0, 1 ]), 45.093/45.093 45.093/45.093 relation(->(_,_), [ 45.093/45.093 1, 0, 45.093/45.093 0, 1 ]) 45.093/45.093 ]). 45.093/45.093 45.093/45.093 ============================== end of model ========================== 45.093/45.093 45.093/45.093 ============================== STATISTICS ============================ 45.093/45.093 45.093/45.093 For domain size 2. 45.093/45.093 45.093/45.093 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 45.093/45.093 Ground clauses: seen=34, kept=30. 45.093/45.093 Selections=7, assignments=11, propagations=17, current_models=1. 45.093/45.093 Rewrite_terms=118, rewrite_bools=63, indexes=24. 45.093/45.093 Rules_from_neg_clauses=3, cross_offs=3. 45.093/45.093 45.093/45.093 ============================== end of statistics ===================== 45.093/45.093 45.093/45.093 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 45.093/45.093 45.093/45.093 Exiting with 1 model. 45.093/45.093 45.093/45.093 Process 105306 exit (max_models) Fri Jul 16 14:50:43 2021 45.093/45.093 The process finished Fri Jul 16 14:50:43 2021 45.093/45.093 45.093/45.093 45.093/45.093 Mace4 cooked interpretation: 45.093/45.093 45.093/45.093 45.093/45.093 45.093/45.093 The problem is infeasible. 45.093/45.093 45.093/45.093 45.093/45.093 45.093/45.093 45.093/45.093 | odd(x:S) ->* true, odd(x:S) ->* false => Not trivial, Overlay, N2 45.093/45.093 (PROBLEM INFEASIBILITY) 45.093/45.093 (VAR x) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x)) -> false | odd(x) ->* false 45.093/45.093 even(s(x)) -> true | odd(x) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x)) -> false | even(x) ->* false 45.093/45.093 odd(s(x)) -> true | even(x) ->* true) 45.093/45.093 (VAR x2) 45.093/45.093 (CONDITION odd(x2) ->* true, odd(x2) ->* false) 45.093/45.093 45.093/45.093 Proof: 45.093/45.093 YES 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Infeasibility Problem: 45.093/45.093 [(VAR vNonEmpty:S x:S x2:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (0) 45.093/45.093 (fSNonEmpty) 45.093/45.093 (false) 45.093/45.093 (s 1) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 )] 45.093/45.093 45.093/45.093 Infeasibility Conditions: 45.093/45.093 odd(x2:S) ->* true, odd(x2:S) ->* false 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Obtaining a model using Mace4: 45.093/45.093 45.093/45.093 -> Usable Rules: 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false | odd(x:S) ->* false 45.093/45.093 even(s(x:S)) -> true | odd(x:S) ->* true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false | even(x:S) ->* false 45.093/45.093 odd(s(x:S)) -> true | even(x:S) ->* true 45.093/45.093 45.093/45.093 -> Mace4 Output: 45.093/45.093 ============================== Mace4 ================================= 45.093/45.093 Mace4 (64) version 2009-11A, November 2009. 45.093/45.093 Process 105350 was started by ubuntu on ubuntu, 45.093/45.093 Fri Jul 16 14:51:03 2021 45.093/45.093 The command was "./mace4 -c -f /tmp/mace4105337-2.in". 45.093/45.093 ============================== end of head =========================== 45.093/45.093 45.093/45.093 ============================== INPUT ================================= 45.093/45.093 45.093/45.093 % Reading from file /tmp/mace4105337-2.in 45.093/45.093 45.093/45.093 assign(max_seconds,10). 45.093/45.093 45.093/45.093 formulas(assumptions). 45.093/45.093 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). 45.093/45.093 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). 45.093/45.093 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 45.093/45.093 ->(even(0),true) # label(replacement). 45.093/45.093 ->*(odd(x1),false) -> ->(even(s(x1)),false) # label(replacement). 45.093/45.093 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement). 45.093/45.093 ->(odd(0),false) # label(replacement). 45.093/45.093 ->*(even(x1),false) -> ->(odd(s(x1)),false) # label(replacement). 45.093/45.093 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement). 45.093/45.093 ->*(x,x) # label(reflexivity). 45.093/45.093 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 formulas(goals). 45.093/45.093 (exists x2 (->*(odd(x2),true) & ->*(odd(x2),false))) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of input ========================== 45.093/45.093 45.093/45.093 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 45.093/45.093 45.093/45.093 % Formulas that are not ordinary clauses: 45.093/45.093 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 3 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 45.093/45.093 4 ->*(odd(x1),false) -> ->(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 5 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 6 ->*(even(x1),false) -> ->(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 7 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 45.093/45.093 8 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 45.093/45.093 9 (exists x2 (->*(odd(x2),true) & ->*(odd(x2),false))) # label(goal) # label(non_clause) # label(goal). [goal]. 45.093/45.093 45.093/45.093 ============================== end of process non-clausal formulas === 45.093/45.093 45.093/45.093 ============================== CLAUSES FOR SEARCH ==================== 45.093/45.093 45.093/45.093 formulas(mace4_clauses). 45.093/45.093 -->(x,y) | ->(even(x),even(y)) # label(congruence). 45.093/45.093 -->(x,y) | ->(odd(x),odd(y)) # label(congruence). 45.093/45.093 -->(x,y) | ->(s(x),s(y)) # label(congruence). 45.093/45.093 ->(even(0),true) # label(replacement). 45.093/45.093 -->*(odd(x),false) | ->(even(s(x)),false) # label(replacement). 45.093/45.093 -->*(odd(x),true) | ->(even(s(x)),true) # label(replacement). 45.093/45.093 ->(odd(0),false) # label(replacement). 45.093/45.093 -->*(even(x),false) | ->(odd(s(x)),false) # label(replacement). 45.093/45.093 -->*(even(x),true) | ->(odd(s(x)),true) # label(replacement). 45.093/45.093 ->*(x,x) # label(reflexivity). 45.093/45.093 -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). 45.093/45.093 -->*(odd(x),true) | -->*(odd(x),false) # label(goal). 45.093/45.093 end_of_list. 45.093/45.093 45.093/45.093 ============================== end of clauses for search ============= 45.093/45.093 45.093/45.093 % There are no natural numbers in the input. 45.093/45.093 45.093/45.093 ============================== DOMAIN SIZE 2 ========================= 45.093/45.093 45.093/45.093 ============================== MODEL ================================= 45.093/45.093 45.093/45.093 interpretation( 2, [number=1, seconds=0], [ 45.093/45.093 45.093/45.093 function(0, [ 0 ]), 45.093/45.093 45.093/45.093 function(false, [ 0 ]), 45.093/45.093 45.093/45.093 function(true, [ 1 ]), 45.093/45.093 45.093/45.093 function(even(_), [ 1, 0 ]), 45.093/45.093 45.093/45.093 function(odd(_), [ 0, 1 ]), 45.093/45.093 45.093/45.093 function(s(_), [ 1, 0 ]), 45.093/45.093 45.093/45.093 relation(->*(_,_), [ 45.093/45.093 1, 0, 45.093/45.093 0, 1 ]), 45.093/45.093 45.093/45.093 relation(->(_,_), [ 45.093/45.093 1, 0, 45.093/45.093 0, 1 ]) 45.093/45.093 ]). 45.093/45.093 45.093/45.093 ============================== end of model ========================== 45.093/45.093 45.093/45.093 ============================== STATISTICS ============================ 45.093/45.093 45.093/45.093 For domain size 2. 45.093/45.093 45.093/45.093 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 45.093/45.093 Ground clauses: seen=34, kept=30. 45.093/45.093 Selections=11, assignments=18, propagations=22, current_models=1. 45.093/45.093 Rewrite_terms=142, rewrite_bools=102, indexes=32. 45.093/45.093 Rules_from_neg_clauses=2, cross_offs=2. 45.093/45.093 45.093/45.093 ============================== end of statistics ===================== 45.093/45.093 45.093/45.093 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 45.093/45.093 45.093/45.093 Exiting with 1 model. 45.093/45.093 45.093/45.093 Process 105350 exit (max_models) Fri Jul 16 14:51:03 2021 45.093/45.093 The process finished Fri Jul 16 14:51:03 2021 45.093/45.093 45.093/45.093 45.093/45.093 Mace4 cooked interpretation: 45.093/45.093 45.093/45.093 45.093/45.093 45.093/45.093 The problem is infeasible. 45.093/45.093 45.093/45.093 45.093/45.093 45.093/45.093 45.093/45.093 -> Problem conclusions: 45.093/45.093 Left linear, Right linear, Linear 45.093/45.093 Weakly orthogonal, Almost orthogonal, Orthogonal 45.093/45.093 CTRS Type: 1 45.093/45.093 Deterministic, Strongly deterministic 45.093/45.093 Oriented CTRS, Properly oriented CTRS, Not join CTRS 45.093/45.093 Maybe right-stable CTRS, Overlay CTRS 45.093/45.093 Maybe normal CTRS, Maybe almost normal CTRS 45.093/45.093 Maybe terminating CTRS, Joinable CCPs 45.093/45.093 Maybe level confluent 45.093/45.093 Maybe confluent 45.093/45.093 45.093/45.093 Resulting CCPs: 45.093/45.093 No CCPs left 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 Underlying TRS Termination Processor: 45.093/45.093 45.093/45.093 Resulting Underlying TRS: 45.093/45.093 (VAR x:S) 45.093/45.093 (STRATEGY CONTEXTSENSITIVE 45.093/45.093 (even 1) 45.093/45.093 (odd 1) 45.093/45.093 (false) 45.093/45.093 (true) 45.093/45.093 ) 45.093/45.093 (RULES 45.093/45.093 even(0) -> true 45.093/45.093 even(s(x:S)) -> false 45.093/45.093 even(s(x:S)) -> true 45.093/45.093 odd(0) -> false 45.093/45.093 odd(s(x:S)) -> false 45.093/45.093 odd(s(x:S)) -> true 45.093/45.093 ) 45.093/45.093 Underlying TRS terminating? 45.093/45.093 YES 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 (VAR vu95NonEmpty:S xu58S:S) 45.093/45.093 (RULES 45.093/45.093 even(num0) -> ftrue 45.093/45.093 even(s(xu58S:S)) -> ffalse 45.093/45.093 even(s(xu58S:S)) -> ftrue 45.093/45.093 odd(num0) -> ffalse 45.093/45.093 odd(s(xu58S:S)) -> ffalse 45.093/45.093 odd(s(xu58S:S)) -> ftrue 45.093/45.093 ) 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 Dependency Pairs Processor: 45.093/45.093 -> Pairs: 45.093/45.093 Empty 45.093/45.093 -> Rules: 45.093/45.093 even(num0) -> ftrue 45.093/45.093 even(s(xu58S:S)) -> ffalse 45.093/45.093 even(s(xu58S:S)) -> ftrue 45.093/45.093 odd(num0) -> ffalse 45.093/45.093 odd(s(xu58S:S)) -> ffalse 45.093/45.093 odd(s(xu58S:S)) -> ftrue 45.093/45.093 45.093/45.093 Problem 1: 45.093/45.093 45.093/45.093 SCC Processor: 45.093/45.093 -> Pairs: 45.093/45.093 Empty 45.093/45.093 -> Rules: 45.093/45.093 even(num0) -> ftrue 45.093/45.093 even(s(xu58S:S)) -> ffalse 45.093/45.093 even(s(xu58S:S)) -> ftrue 45.093/45.093 odd(num0) -> ffalse 45.093/45.093 odd(s(xu58S:S)) -> ffalse 45.093/45.093 odd(s(xu58S:S)) -> ftrue 45.093/45.093 ->Strongly Connected Components: 45.093/45.093 There is no strongly connected component 45.093/45.093 45.093/45.093 The problem is finite. 45.093/45.093 45.093/45.093 45.093/45.093 -> Problem conclusions: 45.093/45.093 Left linear, Right linear, Linear 45.093/45.093 Weakly orthogonal, Almost orthogonal, Orthogonal 45.093/45.093 CTRS Type: 1 45.093/45.093 Deterministic, Strongly deterministic 45.093/45.093 Oriented CTRS, Properly oriented CTRS, Not join CTRS 45.093/45.093 Maybe right-stable CTRS, Overlay CTRS 45.093/45.093 Maybe normal CTRS, Maybe almost normal CTRS 45.093/45.093 Terminating CTRS, Joinable CCPs 45.093/45.093 Maybe level confluent 45.093/45.093 Confluent 45.093/45.093 45.093/45.093 The problem is joinable. 45.093/45.093 72.01user 2.11system 0:45.93elapsed 161%CPU (0avgtext+0avgdata 135968maxresident)k 45.093/45.093 8inputs+0outputs (0major+172905minor)pagefaults 0swaps