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