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