25.062/25.062 NO 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 Confluence Problem: 25.062/25.062 (VAR vNonEmpty:S x:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 ) 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Inlining of Conditions Processor [STERN17]: 25.062/25.062 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 Confluence Problem: 25.062/25.062 (VAR vNonEmpty:S x:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 ) 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Clean CTRS Processor: 25.062/25.062 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 Confluence Problem: 25.062/25.062 (VAR x:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 ) 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 a -> c 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO_CONDS 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 b -> c 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO_CONDS 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Infeasibility Problem: 25.062/25.062 [(VAR vNonEmpty:S vNonEmpty:S:S x:S:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S:S) -> A | s(x:S:S) ->* t 25.062/25.062 f(x:S:S) -> B | s(x:S:S) ->* t 25.062/25.062 g(x:S:S,x:S:S) -> h(x:S:S,x:S:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 )] 25.062/25.062 25.062/25.062 Infeasibility Conditions: 25.062/25.062 s(x:S:S) ->* t 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Obtaining a proof using Prover9: 25.062/25.062 25.062/25.062 -> Prover9 Output: 25.062/25.062 ============================== Prover9 =============================== 25.062/25.062 Prover9 (64) version 2009-11A, November 2009. 25.062/25.062 Process 111396 was started by ubuntu on ubuntu, 25.062/25.062 Fri Jul 16 15:11:24 2021 25.062/25.062 The command was "./prover9 -f /tmp/prover9111387-0.in". 25.062/25.062 ============================== end of head =========================== 25.062/25.062 25.062/25.062 ============================== INPUT ================================= 25.062/25.062 25.062/25.062 % Reading from file /tmp/prover9111387-0.in 25.062/25.062 25.062/25.062 assign(max_seconds,20). 25.062/25.062 25.062/25.062 formulas(assumptions). 25.062/25.062 ->*_s0(x,x) # label(reflexivity). 25.062/25.062 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 25.062/25.062 ->_s0(x1,y) -> ->_s0(f(x1),f(y)) # label(congruence). 25.062/25.062 ->_s0(x1,y) -> ->_s0(g(x1,x2),g(y,x2)) # label(congruence). 25.062/25.062 ->_s0(x2,y) -> ->_s0(g(x1,x2),g(x1,y)) # label(congruence). 25.062/25.062 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 25.062/25.062 ->_s0(x1,y) -> ->_s0(h(x1,x2),h(y,x2)) # label(congruence). 25.062/25.062 ->_s0(x2,y) -> ->_s0(h(x1,x2),h(x1,y)) # label(congruence). 25.062/25.062 ->_s0(a,c) # label(replacement). 25.062/25.062 ->_s0(b,c) # label(replacement). 25.062/25.062 ->*_s0(s(x2),t) -> ->_s0(f(x2),A) # label(replacement). 25.062/25.062 ->*_s0(s(x2),t) -> ->_s0(f(x2),B) # label(replacement). 25.062/25.062 ->_s0(g(x2,x2),h(x2,x2)) # label(replacement). 25.062/25.062 ->_s0(s(a),t) # label(replacement). 25.062/25.062 ->_s0(s(b),t) # label(replacement). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(goals). 25.062/25.062 (exists x2 ->*_s0(s(x2),t)) # label(goal). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== end of input ========================== 25.062/25.062 25.062/25.062 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 25.062/25.062 25.062/25.062 % Formulas that are not ordinary clauses: 25.062/25.062 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 25.062/25.062 2 ->_s0(x1,y) -> ->_s0(f(x1),f(y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 3 ->_s0(x1,y) -> ->_s0(g(x1,x2),g(y,x2)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 4 ->_s0(x2,y) -> ->_s0(g(x1,x2),g(x1,y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 5 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 6 ->_s0(x1,y) -> ->_s0(h(x1,x2),h(y,x2)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 7 ->_s0(x2,y) -> ->_s0(h(x1,x2),h(x1,y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 8 ->*_s0(s(x2),t) -> ->_s0(f(x2),A) # label(replacement) # label(non_clause). [assumption]. 25.062/25.062 9 ->*_s0(s(x2),t) -> ->_s0(f(x2),B) # label(replacement) # label(non_clause). [assumption]. 25.062/25.062 10 (exists x2 ->*_s0(s(x2),t)) # label(goal) # label(non_clause) # label(goal). [goal]. 25.062/25.062 25.062/25.062 ============================== end of process non-clausal formulas === 25.062/25.062 25.062/25.062 ============================== PROCESS INITIAL CLAUSES =============== 25.062/25.062 25.062/25.062 % Clauses before input processing: 25.062/25.062 25.062/25.062 formulas(usable). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(sos). 25.062/25.062 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 -->*_s0(s(x),t) | ->_s0(f(x),A) # label(replacement). [clausify(8)]. 25.062/25.062 -->*_s0(s(x),t) | ->_s0(f(x),B) # label(replacement). [clausify(9)]. 25.062/25.062 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 ->_s0(s(b),t) # label(replacement). [assumption]. 25.062/25.062 -->*_s0(s(x),t) # label(goal). [deny(10)]. 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(demodulators). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== PREDICATE ELIMINATION ================= 25.062/25.062 25.062/25.062 No predicates eliminated. 25.062/25.062 25.062/25.062 ============================== end predicate elimination ============= 25.062/25.062 25.062/25.062 Auto_denials: 25.062/25.062 % copying label goal to answer in negative clause 25.062/25.062 25.062/25.062 Term ordering decisions: 25.062/25.062 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 25.062/25.062 Function symbol precedence: function_order([ t, a, b, c, A, B, h, g, s, f ]). 25.062/25.062 After inverse_order: (no changes). 25.062/25.062 Unfolding symbols: (none). 25.062/25.062 25.062/25.062 Auto_inference settings: 25.062/25.062 % set(neg_binary_resolution). % (HNE depth_diff=-6) 25.062/25.062 % clear(ordered_res). % (HNE depth_diff=-6) 25.062/25.062 % set(ur_resolution). % (HNE depth_diff=-6) 25.062/25.062 % set(ur_resolution) -> set(pos_ur_resolution). 25.062/25.062 % set(ur_resolution) -> set(neg_ur_resolution). 25.062/25.062 25.062/25.062 Auto_process settings: (no changes). 25.062/25.062 25.062/25.062 kept: 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 kept: 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 kept: 13 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 kept: 14 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 kept: 15 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 kept: 17 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 kept: 18 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 kept: 19 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 kept: 20 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 kept: 21 -->*_s0(s(x),t) | ->_s0(f(x),A) # label(replacement). [clausify(8)]. 25.062/25.062 kept: 22 -->*_s0(s(x),t) | ->_s0(f(x),B) # label(replacement). [clausify(9)]. 25.062/25.062 kept: 23 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 kept: 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 kept: 25 ->_s0(s(b),t) # label(replacement). [assumption]. 25.062/25.062 kept: 26 -->*_s0(s(x),t) # label(goal) # answer(goal). [deny(10)]. 25.062/25.062 25.062/25.062 ============================== end of process initial clauses ======== 25.062/25.062 25.062/25.062 ============================== CLAUSES FOR SEARCH ==================== 25.062/25.062 25.062/25.062 % Clauses after input processing: 25.062/25.062 25.062/25.062 formulas(usable). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(sos). 25.062/25.062 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 13 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 14 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 15 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 17 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 18 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 19 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 20 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 23 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 25 ->_s0(s(b),t) # label(replacement). [assumption]. 25.062/25.062 26 -->*_s0(s(x),t) # label(goal) # answer(goal). [deny(10)]. 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(demodulators). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== end of clauses for search ============= 25.062/25.062 25.062/25.062 ============================== SEARCH ================================ 25.062/25.062 25.062/25.062 % Starting search at 0.00 seconds. 25.062/25.062 25.062/25.062 given #1 (I,wt=3): 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 25.062/25.062 given #2 (I,wt=9): 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 25.062/25.062 given #3 (I,wt=8): 13 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 25.062/25.062 given #4 (I,wt=10): 14 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 25.062/25.062 given #5 (I,wt=10): 15 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 25.062/25.062 given #6 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 25.062/25.062 given #7 (I,wt=10): 17 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 25.062/25.062 given #8 (I,wt=10): 18 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 25.062/25.062 given #9 (I,wt=3): 19 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 given #10 (I,wt=3): 20 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 given #11 (I,wt=7): 23 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 given #12 (I,wt=4): 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 ============================== PROOF ================================= 25.062/25.062 25.062/25.062 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 25.062/25.062 % Length of proof is 8. 25.062/25.062 % Level of proof is 3. 25.062/25.062 % Maximum clause weight is 9.000. 25.062/25.062 % Given clauses 12. 25.062/25.062 25.062/25.062 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 25.062/25.062 10 (exists x2 ->*_s0(s(x2),t)) # label(goal) # label(non_clause) # label(goal). [goal]. 25.062/25.062 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 26 -->*_s0(s(x),t) # label(goal) # answer(goal). [deny(10)]. 25.062/25.062 54 ->*_s0(s(a),t). [ur(12,a,24,a,b,11,a)]. 25.062/25.062 55 $F # answer(goal). [resolve(54,a,26,a)]. 25.062/25.062 25.062/25.062 ============================== end of proof ========================== 25.062/25.062 25.062/25.062 ============================== STATISTICS ============================ 25.062/25.062 25.062/25.062 Given=12. Generated=44. Kept=44. proofs=1. 25.062/25.062 Usable=12. Sos=23. Demods=0. Limbo=6, Disabled=18. Hints=0. 25.062/25.062 Kept_by_rule=0, Deleted_by_rule=0. 25.062/25.062 Forward_subsumed=0. Back_subsumed=2. 25.062/25.062 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 25.062/25.062 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 25.062/25.062 Demod_attempts=0. Demod_rewrites=0. 25.062/25.062 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 25.062/25.062 Nonunit_fsub_feature_tests=2. Nonunit_bsub_feature_tests=16. 25.062/25.062 Megabytes=0.11. 25.062/25.062 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 25.062/25.062 25.062/25.062 ============================== end of statistics ===================== 25.062/25.062 25.062/25.062 ============================== end of search ========================= 25.062/25.062 25.062/25.062 THEOREM PROVED 25.062/25.062 25.062/25.062 Exiting with 1 proof. 25.062/25.062 25.062/25.062 Process 111396 exit (max_proofs) Fri Jul 16 15:11:24 2021 25.062/25.062 25.062/25.062 25.062/25.062 The problem is feasible. 25.062/25.062 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Infeasibility Problem: 25.062/25.062 [(VAR vNonEmpty:S vNonEmpty:S:S x:S:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S:S) -> A | s(x:S:S) ->* t 25.062/25.062 f(x:S:S) -> B | s(x:S:S) ->* t 25.062/25.062 g(x:S:S,x:S:S) -> h(x:S:S,x:S:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 )] 25.062/25.062 25.062/25.062 Infeasibility Conditions: 25.062/25.062 s(x:S:S) ->* t 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Obtaining a proof using Prover9: 25.062/25.062 25.062/25.062 -> Prover9 Output: 25.062/25.062 ============================== Prover9 =============================== 25.062/25.062 Prover9 (64) version 2009-11A, November 2009. 25.062/25.062 Process 111418 was started by ubuntu on ubuntu, 25.062/25.062 Fri Jul 16 15:11:24 2021 25.062/25.062 The command was "./prover9 -f /tmp/prover9111409-0.in". 25.062/25.062 ============================== end of head =========================== 25.062/25.062 25.062/25.062 ============================== INPUT ================================= 25.062/25.062 25.062/25.062 % Reading from file /tmp/prover9111409-0.in 25.062/25.062 25.062/25.062 assign(max_seconds,20). 25.062/25.062 25.062/25.062 formulas(assumptions). 25.062/25.062 ->*_s0(x,x) # label(reflexivity). 25.062/25.062 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). 25.062/25.062 ->_s0(x1,y) -> ->_s0(f(x1),f(y)) # label(congruence). 25.062/25.062 ->_s0(x1,y) -> ->_s0(g(x1,x2),g(y,x2)) # label(congruence). 25.062/25.062 ->_s0(x2,y) -> ->_s0(g(x1,x2),g(x1,y)) # label(congruence). 25.062/25.062 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). 25.062/25.062 ->_s0(x1,y) -> ->_s0(h(x1,x2),h(y,x2)) # label(congruence). 25.062/25.062 ->_s0(x2,y) -> ->_s0(h(x1,x2),h(x1,y)) # label(congruence). 25.062/25.062 ->_s0(a,c) # label(replacement). 25.062/25.062 ->_s0(b,c) # label(replacement). 25.062/25.062 ->*_s0(s(x2),t) -> ->_s0(f(x2),A) # label(replacement). 25.062/25.062 ->*_s0(s(x2),t) -> ->_s0(f(x2),B) # label(replacement). 25.062/25.062 ->_s0(g(x2,x2),h(x2,x2)) # label(replacement). 25.062/25.062 ->_s0(s(a),t) # label(replacement). 25.062/25.062 ->_s0(s(b),t) # label(replacement). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(goals). 25.062/25.062 (exists x2 ->*_s0(s(x2),t)) # label(goal). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== end of input ========================== 25.062/25.062 25.062/25.062 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 25.062/25.062 25.062/25.062 % Formulas that are not ordinary clauses: 25.062/25.062 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 25.062/25.062 2 ->_s0(x1,y) -> ->_s0(f(x1),f(y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 3 ->_s0(x1,y) -> ->_s0(g(x1,x2),g(y,x2)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 4 ->_s0(x2,y) -> ->_s0(g(x1,x2),g(x1,y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 5 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 6 ->_s0(x1,y) -> ->_s0(h(x1,x2),h(y,x2)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 7 ->_s0(x2,y) -> ->_s0(h(x1,x2),h(x1,y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 8 ->*_s0(s(x2),t) -> ->_s0(f(x2),A) # label(replacement) # label(non_clause). [assumption]. 25.062/25.062 9 ->*_s0(s(x2),t) -> ->_s0(f(x2),B) # label(replacement) # label(non_clause). [assumption]. 25.062/25.062 10 (exists x2 ->*_s0(s(x2),t)) # label(goal) # label(non_clause) # label(goal). [goal]. 25.062/25.062 25.062/25.062 ============================== end of process non-clausal formulas === 25.062/25.062 25.062/25.062 ============================== PROCESS INITIAL CLAUSES =============== 25.062/25.062 25.062/25.062 % Clauses before input processing: 25.062/25.062 25.062/25.062 formulas(usable). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(sos). 25.062/25.062 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 -->*_s0(s(x),t) | ->_s0(f(x),A) # label(replacement). [clausify(8)]. 25.062/25.062 -->*_s0(s(x),t) | ->_s0(f(x),B) # label(replacement). [clausify(9)]. 25.062/25.062 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 ->_s0(s(b),t) # label(replacement). [assumption]. 25.062/25.062 -->*_s0(s(x),t) # label(goal). [deny(10)]. 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(demodulators). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== PREDICATE ELIMINATION ================= 25.062/25.062 25.062/25.062 No predicates eliminated. 25.062/25.062 25.062/25.062 ============================== end predicate elimination ============= 25.062/25.062 25.062/25.062 Auto_denials: 25.062/25.062 % copying label goal to answer in negative clause 25.062/25.062 25.062/25.062 Term ordering decisions: 25.062/25.062 Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). 25.062/25.062 Function symbol precedence: function_order([ t, a, b, c, A, B, h, g, s, f ]). 25.062/25.062 After inverse_order: (no changes). 25.062/25.062 Unfolding symbols: (none). 25.062/25.062 25.062/25.062 Auto_inference settings: 25.062/25.062 % set(neg_binary_resolution). % (HNE depth_diff=-6) 25.062/25.062 % clear(ordered_res). % (HNE depth_diff=-6) 25.062/25.062 % set(ur_resolution). % (HNE depth_diff=-6) 25.062/25.062 % set(ur_resolution) -> set(pos_ur_resolution). 25.062/25.062 % set(ur_resolution) -> set(neg_ur_resolution). 25.062/25.062 25.062/25.062 Auto_process settings: (no changes). 25.062/25.062 25.062/25.062 kept: 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 kept: 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 kept: 13 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 kept: 14 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 kept: 15 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 kept: 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 kept: 17 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 kept: 18 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 kept: 19 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 kept: 20 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 kept: 21 -->*_s0(s(x),t) | ->_s0(f(x),A) # label(replacement). [clausify(8)]. 25.062/25.062 kept: 22 -->*_s0(s(x),t) | ->_s0(f(x),B) # label(replacement). [clausify(9)]. 25.062/25.062 kept: 23 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 kept: 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 kept: 25 ->_s0(s(b),t) # label(replacement). [assumption]. 25.062/25.062 kept: 26 -->*_s0(s(x),t) # label(goal) # answer(goal). [deny(10)]. 25.062/25.062 25.062/25.062 ============================== end of process initial clauses ======== 25.062/25.062 25.062/25.062 ============================== CLAUSES FOR SEARCH ==================== 25.062/25.062 25.062/25.062 % Clauses after input processing: 25.062/25.062 25.062/25.062 formulas(usable). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(sos). 25.062/25.062 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 13 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 14 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 15 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 17 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 18 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 19 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 20 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 23 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 25 ->_s0(s(b),t) # label(replacement). [assumption]. 25.062/25.062 26 -->*_s0(s(x),t) # label(goal) # answer(goal). [deny(10)]. 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(demodulators). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== end of clauses for search ============= 25.062/25.062 25.062/25.062 ============================== SEARCH ================================ 25.062/25.062 25.062/25.062 % Starting search at 0.00 seconds. 25.062/25.062 25.062/25.062 given #1 (I,wt=3): 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 25.062/25.062 given #2 (I,wt=9): 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 25.062/25.062 given #3 (I,wt=8): 13 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(2)]. 25.062/25.062 25.062/25.062 given #4 (I,wt=10): 14 -->_s0(x,y) | ->_s0(g(x,z),g(y,z)) # label(congruence). [clausify(3)]. 25.062/25.062 25.062/25.062 given #5 (I,wt=10): 15 -->_s0(x,y) | ->_s0(g(z,x),g(z,y)) # label(congruence). [clausify(4)]. 25.062/25.062 25.062/25.062 given #6 (I,wt=8): 16 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(5)]. 25.062/25.062 25.062/25.062 given #7 (I,wt=10): 17 -->_s0(x,y) | ->_s0(h(x,z),h(y,z)) # label(congruence). [clausify(6)]. 25.062/25.062 25.062/25.062 given #8 (I,wt=10): 18 -->_s0(x,y) | ->_s0(h(z,x),h(z,y)) # label(congruence). [clausify(7)]. 25.062/25.062 25.062/25.062 given #9 (I,wt=3): 19 ->_s0(a,c) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 given #10 (I,wt=3): 20 ->_s0(b,c) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 given #11 (I,wt=7): 23 ->_s0(g(x,x),h(x,x)) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 given #12 (I,wt=4): 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 25.062/25.062 ============================== PROOF ================================= 25.062/25.062 25.062/25.062 % Proof 1 at 0.00 (+ 0.00) seconds: goal. 25.062/25.062 % Length of proof is 8. 25.062/25.062 % Level of proof is 3. 25.062/25.062 % Maximum clause weight is 9.000. 25.062/25.062 % Given clauses 12. 25.062/25.062 25.062/25.062 1 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 25.062/25.062 10 (exists x2 ->*_s0(s(x2),t)) # label(goal) # label(non_clause) # label(goal). [goal]. 25.062/25.062 11 ->*_s0(x,x) # label(reflexivity). [assumption]. 25.062/25.062 12 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(1)]. 25.062/25.062 24 ->_s0(s(a),t) # label(replacement). [assumption]. 25.062/25.062 26 -->*_s0(s(x),t) # label(goal) # answer(goal). [deny(10)]. 25.062/25.062 54 ->*_s0(s(a),t). [ur(12,a,24,a,b,11,a)]. 25.062/25.062 55 $F # answer(goal). [resolve(54,a,26,a)]. 25.062/25.062 25.062/25.062 ============================== end of proof ========================== 25.062/25.062 25.062/25.062 ============================== STATISTICS ============================ 25.062/25.062 25.062/25.062 Given=12. Generated=44. Kept=44. proofs=1. 25.062/25.062 Usable=12. Sos=23. Demods=0. Limbo=6, Disabled=18. Hints=0. 25.062/25.062 Kept_by_rule=0, Deleted_by_rule=0. 25.062/25.062 Forward_subsumed=0. Back_subsumed=2. 25.062/25.062 Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. 25.062/25.062 New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. 25.062/25.062 Demod_attempts=0. Demod_rewrites=0. 25.062/25.062 Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. 25.062/25.062 Nonunit_fsub_feature_tests=2. Nonunit_bsub_feature_tests=16. 25.062/25.062 Megabytes=0.11. 25.062/25.062 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 25.062/25.062 25.062/25.062 ============================== end of statistics ===================== 25.062/25.062 25.062/25.062 ============================== end of search ========================= 25.062/25.062 25.062/25.062 THEOREM PROVED 25.062/25.062 25.062/25.062 Exiting with 1 proof. 25.062/25.062 25.062/25.062 Process 111418 exit (max_proofs) Fri Jul 16 15:11:24 2021 25.062/25.062 25.062/25.062 25.062/25.062 The problem is feasible. 25.062/25.062 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO_CONDS 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 s(a) -> t 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO_CONDS 25.062/25.062 25.062/25.062 CRule InfChecker Info: 25.062/25.062 s(b) -> t 25.062/25.062 Rule remains 25.062/25.062 Proof: 25.062/25.062 NO_CONDS 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 Confluence Problem: 25.062/25.062 (VAR x:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 ) 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 25.062/25.062 Critical Pairs Processor: 25.062/25.062 -> Rules: 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 -> Vars: 25.062/25.062 "x", "x", "x" 25.062/25.062 -> FVars: 25.062/25.062 "x2", "x3", "x4" 25.062/25.062 -> PVars: 25.062/25.062 "x": ["x2", "x3", "x4"] 25.062/25.062 25.062/25.062 -> Rlps: 25.062/25.062 crule: a -> c, id: 1, possubterms: a-> [] 25.062/25.062 crule: b -> c, id: 2, possubterms: b-> [] 25.062/25.062 crule: f(x2:S) -> A | s(x2:S) ->* t, id: 3, possubterms: f(x2:S)-> [] 25.062/25.062 crule: f(x3:S) -> B | s(x3:S) ->* t, id: 4, possubterms: f(x3:S)-> [] 25.062/25.062 crule: g(x4:S,x4:S) -> h(x4:S,x4:S), id: 5, possubterms: g(x4:S,x4:S)-> [] 25.062/25.062 crule: s(a) -> t, id: 6, possubterms: s(a)-> [], a-> [1] 25.062/25.062 crule: s(b) -> t, id: 7, possubterms: s(b)-> [], b-> [1] 25.062/25.062 25.062/25.062 -> Unifications: 25.062/25.062 R4 unifies with R3 at p: [], l: f(x3:S), lp: f(x3:S), conds: {s(x3:S) ->* t, s(x:S) ->* t}, sig: {x3:S -> x:S}, l': f(x:S), r: B, r': A 25.062/25.062 R6 unifies with R1 at p: [1], l: s(a), lp: a, conds: {}, sig: {}, l': a, r: t, r': c 25.062/25.062 R7 unifies with R2 at p: [1], l: s(b), lp: b, conds: {}, sig: {}, l': b, r: t, r': c 25.062/25.062 25.062/25.062 -> Critical pairs info: 25.062/25.062 => Not trivial, Not overlay, N1 25.062/25.062 | s(x:S) ->* t => Not trivial, Overlay, N2 25.062/25.062 25.062/25.062 -> Problem conclusions: 25.062/25.062 Not left linear, Not right linear, Not linear 25.062/25.062 Not weakly orthogonal, Not almost orthogonal, Not orthogonal 25.062/25.062 CTRS Type: 1 25.062/25.062 Deterministic, Strongly deterministic 25.062/25.062 Oriented CTRS, Properly oriented CTRS, Not join CTRS 25.062/25.062 Maybe right-stable CTRS, Not overlay CTRS 25.062/25.062 Maybe normal CTRS, Maybe almost normal CTRS 25.062/25.062 Maybe terminating CTRS, Maybe joinable CCPs 25.062/25.062 Maybe level confluent 25.062/25.062 Maybe confluent 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 Confluence Problem: 25.062/25.062 (VAR x:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 ) 25.062/25.062 Critical Pairs: 25.062/25.062 => Not trivial, Not overlay, N1 25.062/25.062 | s(x:S) ->* t => Not trivial, Overlay, N2 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 25.062/25.062 Conditional Critical Pairs Distributor Processor 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 Confluence Problem: 25.062/25.062 (VAR x:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 ) 25.062/25.062 Critical Pairs: 25.062/25.062 => Not trivial, Not overlay, N1 25.062/25.062 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 25.062/25.062 25.062/25.062 Infeasible Convergence No Conditions CCP Processor: 25.062/25.062 Infeasible convergence? 25.062/25.062 YES 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Infeasibility Problem: 25.062/25.062 [(VAR vNonEmpty:S x:S z:S) 25.062/25.062 (STRATEGY CONTEXTSENSITIVE 25.062/25.062 (a) 25.062/25.062 (b) 25.062/25.062 (f 1) 25.062/25.062 (g 1 2) 25.062/25.062 (s 1) 25.062/25.062 (A) 25.062/25.062 (B) 25.062/25.062 (c) 25.062/25.062 (fSNonEmpty) 25.062/25.062 (h 1 2) 25.062/25.062 (t) 25.062/25.062 ) 25.062/25.062 (RULES 25.062/25.062 a -> c 25.062/25.062 b -> c 25.062/25.062 f(x:S) -> A | s(x:S) ->* t 25.062/25.062 f(x:S) -> B | s(x:S) ->* t 25.062/25.062 g(x:S,x:S) -> h(x:S,x:S) 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 )] 25.062/25.062 25.062/25.062 Infeasibility Conditions: 25.062/25.062 s(c) ->* z:S, t ->* z:S 25.062/25.062 25.062/25.062 Problem 1: 25.062/25.062 25.062/25.062 Obtaining a model using Mace4: 25.062/25.062 25.062/25.062 -> Usable Rules: 25.062/25.062 s(a) -> t 25.062/25.062 s(b) -> t 25.062/25.062 25.062/25.062 -> Mace4 Output: 25.062/25.062 ============================== Mace4 ================================= 25.062/25.062 Mace4 (64) version 2009-11A, November 2009. 25.062/25.062 Process 111459 was started by ubuntu on ubuntu, 25.062/25.062 Fri Jul 16 15:11:24 2021 25.062/25.062 The command was "./mace4 -c -f /tmp/mace4111435-2.in". 25.062/25.062 ============================== end of head =========================== 25.062/25.062 25.062/25.062 ============================== INPUT ================================= 25.062/25.062 25.062/25.062 % Reading from file /tmp/mace4111435-2.in 25.062/25.062 25.062/25.062 assign(max_seconds,10). 25.062/25.062 25.062/25.062 formulas(assumptions). 25.062/25.062 ->(x1,y) -> ->(f(x1),f(y)) # label(congruence). 25.062/25.062 ->(x1,y) -> ->(g(x1,x2),g(y,x2)) # label(congruence). 25.062/25.062 ->(x2,y) -> ->(g(x1,x2),g(x1,y)) # label(congruence). 25.062/25.062 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). 25.062/25.062 ->(x1,y) -> ->(h(x1,x2),h(y,x2)) # label(congruence). 25.062/25.062 ->(x2,y) -> ->(h(x1,x2),h(x1,y)) # label(congruence). 25.062/25.062 ->(s(a),t) # label(replacement). 25.062/25.062 ->(s(b),t) # label(replacement). 25.062/25.062 ->*(x,x) # label(reflexivity). 25.062/25.062 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 formulas(goals). 25.062/25.062 (exists x2 (->*(s(c),x2) & ->*(t,x2))) # label(goal). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== end of input ========================== 25.062/25.062 25.062/25.062 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 25.062/25.062 25.062/25.062 % Formulas that are not ordinary clauses: 25.062/25.062 1 ->(x1,y) -> ->(f(x1),f(y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 2 ->(x1,y) -> ->(g(x1,x2),g(y,x2)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 3 ->(x2,y) -> ->(g(x1,x2),g(x1,y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 4 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 5 ->(x1,y) -> ->(h(x1,x2),h(y,x2)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 6 ->(x2,y) -> ->(h(x1,x2),h(x1,y)) # label(congruence) # label(non_clause). [assumption]. 25.062/25.062 7 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 25.062/25.062 8 (exists x2 (->*(s(c),x2) & ->*(t,x2))) # label(goal) # label(non_clause) # label(goal). [goal]. 25.062/25.062 25.062/25.062 ============================== end of process non-clausal formulas === 25.062/25.062 25.062/25.062 ============================== CLAUSES FOR SEARCH ==================== 25.062/25.062 25.062/25.062 formulas(mace4_clauses). 25.062/25.062 -->(x,y) | ->(f(x),f(y)) # label(congruence). 25.062/25.062 -->(x,y) | ->(g(x,z),g(y,z)) # label(congruence). 25.062/25.062 -->(x,y) | ->(g(z,x),g(z,y)) # label(congruence). 25.062/25.062 -->(x,y) | ->(s(x),s(y)) # label(congruence). 25.062/25.062 -->(x,y) | ->(h(x,z),h(y,z)) # label(congruence). 25.062/25.062 -->(x,y) | ->(h(z,x),h(z,y)) # label(congruence). 25.062/25.062 ->(s(a),t) # label(replacement). 25.062/25.062 ->(s(b),t) # label(replacement). 25.062/25.062 ->*(x,x) # label(reflexivity). 25.062/25.062 -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). 25.062/25.062 -->*(s(c),x) | -->*(t,x) # label(goal). 25.062/25.062 end_of_list. 25.062/25.062 25.062/25.062 ============================== end of clauses for search ============= 25.062/25.062 25.062/25.062 % There are no natural numbers in the input. 25.062/25.062 25.062/25.062 ============================== DOMAIN SIZE 2 ========================= 25.062/25.062 25.062/25.062 ============================== MODEL ================================= 25.062/25.062 25.062/25.062 interpretation( 2, [number=1, seconds=0], [ 25.062/25.062 25.062/25.062 function(t, [ 0 ]), 25.062/25.062 25.062/25.062 function(a, [ 0 ]), 25.062/25.062 25.062/25.062 function(b, [ 0 ]), 25.062/25.062 25.062/25.062 function(c, [ 1 ]), 25.062/25.062 25.062/25.062 function(f(_), [ 0, 0 ]), 25.062/25.062 25.062/25.062 function(s(_), [ 0, 1 ]), 25.062/25.062 25.062/25.062 function(h(_,_), [ 25.062/25.062 0, 0, 25.062/25.062 0, 0 ]), 25.062/25.062 25.062/25.062 function(g(_,_), [ 25.062/25.062 0, 0, 25.062/25.062 0, 0 ]), 25.062/25.062 25.062/25.062 relation(->*(_,_), [ 25.062/25.062 1, 0, 25.062/25.062 0, 1 ]), 25.062/25.062 25.062/25.062 relation(->(_,_), [ 25.062/25.062 1, 0, 25.062/25.062 0, 0 ]) 25.062/25.062 ]). 25.062/25.062 25.062/25.062 ============================== end of model ========================== 25.062/25.062 25.062/25.062 ============================== STATISTICS ============================ 25.062/25.062 25.062/25.062 For domain size 2. 25.062/25.062 25.062/25.062 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 25.062/25.062 Ground clauses: seen=54, kept=50. 25.062/25.062 Selections=15, assignments=16, propagations=13, current_models=1. 25.062/25.062 Rewrite_terms=102, rewrite_bools=70, indexes=13. 25.062/25.062 Rules_from_neg_clauses=3, cross_offs=3. 25.062/25.062 25.062/25.062 ============================== end of statistics ===================== 25.062/25.062 25.062/25.062 User_CPU=0.00, System_CPU=0.00, Wall_clock=0. 25.062/25.062 25.062/25.062 Exiting with 1 model. 25.062/25.062 25.062/25.062 Process 111459 exit (max_models) Fri Jul 16 15:11:24 2021 25.062/25.062 The process finished Fri Jul 16 15:11:24 2021 25.062/25.062 25.062/25.062 25.062/25.062 Mace4 cooked interpretation: 25.062/25.062 25.062/25.062 25.062/25.062 25.062/25.062 The problem is infeasible. 25.062/25.062 25.062/25.062 25.062/25.062 The problem is not joinable. 25.062/25.062 19.93user 0.73system 0:25.62elapsed 80%CPU (0avgtext+0avgdata 260972maxresident)k 25.062/25.062 8inputs+0outputs (0major+98448minor)pagefaults 0swaps