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