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