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