0.001/0.001 NO 0.001/0.001 0.001/0.001 Problem 1: 0.001/0.001 0.001/0.001 0.001/0.001 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.001/0.001 Confluence Problem: 0.001/0.001 (VAR vNonEmpty:S v_NonEmpty:S:S L:S:S N:S:S V:S:S V1:S:S V2:S:S X:S:S) 0.001/0.001 (STRATEGY CONTEXTSENSITIVE 0.001/0.001 (U11 1) 0.001/0.001 (and 1) 0.001/0.001 (isNat 1) 0.001/0.001 (isNatIList 1) 0.001/0.001 (isNatList 1) 0.001/0.001 (length 1) 0.001/0.001 (zeros) 0.001/0.001 (cons) 0.001/0.001 (fSNonEmpty) 0.001/0.001 (nil) 0.001/0.001 (num0) 0.001/0.001 (s) 0.001/0.001 (tt) 0.001/0.001 ) 0.001/0.001 (RULES 0.001/0.001 U11(tt,L:S:S) -> s(length(L:S:S)) 0.001/0.001 and(tt,X:S:S) -> X:S:S 0.001/0.001 isNat(length(V1:S:S)) -> isNatList(V1:S:S) 0.001/0.001 isNat(num0) -> tt 0.001/0.001 isNat(s(V1:S:S)) -> isNat(V1:S:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2:S:S)) 0.001/0.001 isNatIList(V:S:S) -> isNatList(V:S:S) 0.001/0.001 isNatList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatList(V2:S:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S:S,L:S:S)) -> U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S) 0.001/0.001 length(nil) -> num0 0.001/0.001 zeros -> cons(num0,zeros) 0.001/0.001 ) 0.001/0.001 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.001/0.001 0.001/0.001 0.001/0.001 Problem 1: 0.001/0.001 0.001/0.001 CleanTRS Processor: 0.001/0.001 0.001/0.001 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.001/0.001 Confluence Problem: 0.001/0.001 (VAR vNonEmpty:S v_NonEmpty:S:S L:S:S N:S:S V:S:S V1:S:S V2:S:S X:S:S) 0.001/0.001 (STRATEGY CONTEXTSENSITIVE 0.001/0.001 (U11 1) 0.001/0.001 (and 1) 0.001/0.001 (isNat 1) 0.001/0.001 (isNatIList 1) 0.001/0.001 (isNatList 1) 0.001/0.001 (length 1) 0.001/0.001 (zeros) 0.001/0.001 (cons) 0.001/0.001 (fSNonEmpty) 0.001/0.001 (nil) 0.001/0.001 (num0) 0.001/0.001 (s) 0.001/0.001 (tt) 0.001/0.001 ) 0.001/0.001 (RULES 0.001/0.001 U11(tt,L:S:S) -> s(length(L:S:S)) 0.001/0.001 and(tt,X:S:S) -> X:S:S 0.001/0.001 isNat(length(V1:S:S)) -> isNatList(V1:S:S) 0.001/0.001 isNat(num0) -> tt 0.001/0.001 isNat(s(V1:S:S)) -> isNat(V1:S:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2:S:S)) 0.001/0.001 isNatIList(V:S:S) -> isNatList(V:S:S) 0.001/0.001 isNatList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatList(V2:S:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S:S,L:S:S)) -> U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S) 0.001/0.001 length(nil) -> num0 0.001/0.001 zeros -> cons(num0,zeros) 0.001/0.001 ) 0.001/0.001 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.001/0.001 0.001/0.001 0.001/0.001 Problem 1: 0.001/0.001 0.001/0.001 Modular Confluence Combinations Decomposition Processor: 0.001/0.001 It is a CTRS -> No modular confluence 0.001/0.001 0.001/0.001 Problem 1: 0.001/0.001 Left-Homogeneous u-Replacing Variables Processor: 0.001/0.001 R satisfies LHRV condition 0.001/0.001 0.001/0.001 Problem 1: 0.001/0.001 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.001/0.001 Confluence Problem: 0.001/0.001 (VAR vNonEmpty:S v_NonEmpty:S:S L:S:S N:S:S V:S:S V1:S:S V2:S:S X:S:S) 0.001/0.001 (STRATEGY CONTEXTSENSITIVE 0.001/0.001 (U11 1) 0.001/0.001 (and 1) 0.001/0.001 (isNat 1) 0.001/0.001 (isNatIList 1) 0.001/0.001 (isNatList 1) 0.001/0.001 (length 1) 0.001/0.001 (zeros) 0.001/0.001 (cons) 0.001/0.001 (fSNonEmpty) 0.001/0.001 (nil) 0.001/0.001 (num0) 0.001/0.001 (s) 0.001/0.001 (tt) 0.001/0.001 ) 0.001/0.001 (RULES 0.001/0.001 U11(tt,L:S:S) -> s(length(L:S:S)) 0.001/0.001 and(tt,X:S:S) -> X:S:S 0.001/0.001 isNat(length(V1:S:S)) -> isNatList(V1:S:S) 0.001/0.001 isNat(num0) -> tt 0.001/0.001 isNat(s(V1:S:S)) -> isNat(V1:S:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2:S:S)) 0.001/0.001 isNatIList(V:S:S) -> isNatList(V:S:S) 0.001/0.001 isNatList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatList(V2:S:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S:S,L:S:S)) -> U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S) 0.001/0.001 length(nil) -> num0 0.001/0.001 zeros -> cons(num0,zeros) 0.001/0.001 ) 0.001/0.001 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.001/0.001 0.001/0.001 Huet Levy Processor: 0.001/0.001 -> Rules: 0.001/0.001 U11(tt,L:S:S) -> s(length(L:S:S)) 0.001/0.001 and(tt,X:S:S) -> X:S:S 0.001/0.001 isNat(length(V1:S:S)) -> isNatList(V1:S:S) 0.001/0.001 isNat(num0) -> tt 0.001/0.001 isNat(s(V1:S:S)) -> isNat(V1:S:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2:S:S)) 0.001/0.001 isNatIList(V:S:S) -> isNatList(V:S:S) 0.001/0.001 isNatList(cons(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatList(V2:S:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S:S,L:S:S)) -> U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S) 0.001/0.001 length(nil) -> num0 0.001/0.001 zeros -> cons(num0,zeros) 0.001/0.001 -> Vars: 0.001/0.001 L:S, X:S, V1:S, V1:S, V1:S, V2:S, V:S, V1:S, V2:S, L:S, N:S 0.001/0.001 -> UVars: 0.001/0.001 (UV-RuleId: 1, UV-LActive: [], UV-RActive: [], UV-LFrozen: [L:S], UV-RFrozen: [L:S]) 0.001/0.001 (UV-RuleId: 2, UV-LActive: [], UV-RActive: [X:S], UV-LFrozen: [X:S], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 3, UV-LActive: [V1:S], UV-RActive: [V1:S], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 4, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 5, UV-LActive: [], UV-RActive: [V1:S], UV-LFrozen: [V1:S], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 6, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 7, UV-LActive: [], UV-RActive: [V1:S], UV-LFrozen: [V1:S, V2:S], UV-RFrozen: [V2:S]) 0.001/0.001 (UV-RuleId: 8, UV-LActive: [V:S], UV-RActive: [V:S], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 9, UV-LActive: [], UV-RActive: [V1:S], UV-LFrozen: [V1:S, V2:S], UV-RFrozen: [V2:S]) 0.001/0.001 (UV-RuleId: 10, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 11, UV-LActive: [], UV-RActive: [L:S], UV-LFrozen: [L:S, N:S], UV-RFrozen: [L:S, N:S]) 0.001/0.001 (UV-RuleId: 12, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 13, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 -> FVars: 0.001/0.001 x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18 0.001/0.001 -> PVars: 0.001/0.001 L:S: [x8, x17], X:S: [x9], V1:S: [x10, x11, x12, x15], V2:S: [x13, x16], V:S: [x14], N:S: [x18] 0.001/0.001 0.001/0.001 -> Rlps: 0.001/0.001 (rule: U11(tt,x8:S) -> s(length(x8:S)), id: 1, possubterms: U11(tt,x8:S)->[], tt->[1]) 0.001/0.001 (rule: and(tt,x9:S) -> x9:S, id: 2, possubterms: and(tt,x9:S)->[], tt->[1]) 0.001/0.001 (rule: isNat(length(x10:S)) -> isNatList(x10:S), id: 3, possubterms: isNat(length(x10:S))->[], length(x10:S)->[1]) 0.001/0.001 (rule: isNat(num0) -> tt, id: 4, possubterms: isNat(num0)->[], num0->[1]) 0.001/0.001 (rule: isNat(s(x11:S)) -> isNat(x11:S), id: 5, possubterms: isNat(s(x11:S))->[], s(x11:S)->[1]) 0.001/0.001 (rule: isNatIList(zeros) -> tt, id: 6, possubterms: isNatIList(zeros)->[], zeros->[1]) 0.001/0.001 (rule: isNatIList(cons(x12:S,x13:S)) -> and(isNat(x12:S),isNatIList(x13:S)), id: 7, possubterms: isNatIList(cons(x12:S,x13:S))->[], cons(x12:S,x13:S)->[1]) 0.001/0.001 (rule: isNatIList(x14:S) -> isNatList(x14:S), id: 8, possubterms: isNatIList(x14:S)->[]) 0.001/0.001 (rule: isNatList(cons(x15:S,x16:S)) -> and(isNat(x15:S),isNatList(x16:S)), id: 9, possubterms: isNatList(cons(x15:S,x16:S))->[], cons(x15:S,x16:S)->[1]) 0.001/0.001 (rule: isNatList(nil) -> tt, id: 10, possubterms: isNatList(nil)->[], nil->[1]) 0.001/0.001 (rule: length(cons(x18:S,x17:S)) -> U11(and(isNatList(x17:S),isNat(x18:S)),x17:S), id: 11, possubterms: length(cons(x18:S,x17:S))->[], cons(x18:S,x17:S)->[1]) 0.001/0.001 (rule: length(nil) -> num0, id: 12, possubterms: length(nil)->[], nil->[1]) 0.001/0.001 (rule: zeros -> cons(num0,zeros), id: 13, possubterms: zeros->[]) 0.001/0.001 0.001/0.001 -> Unifications: 0.001/0.001 (R3 unifies with R11 at p: [1], l: isNat(length(x10:S)), lp: length(x10:S), sig: {x10:S -> cons(N:S:S,L:S:S)}, l': length(cons(N:S:S,L:S:S)), r: isNatList(x10:S), r': U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S)) 0.001/0.001 (R3 unifies with R12 at p: [1], l: isNat(length(x10:S)), lp: length(x10:S), sig: {x10:S -> nil}, l': length(nil), r: isNatList(x10:S), r': num0) 0.001/0.001 (R6 unifies with R13 at p: [1], l: isNatIList(zeros), lp: zeros, sig: {}, l': zeros, r: tt, r': cons(num0,zeros)) 0.001/0.001 (R8 unifies with R6 at p: [], l: isNatIList(x14:S), lp: isNatIList(x14:S), sig: {x14:S -> zeros}, l': isNatIList(zeros), r: isNatList(x14:S), r': tt) 0.001/0.001 (R8 unifies with R7 at p: [], l: isNatIList(x14:S), lp: isNatIList(x14:S), sig: {x14:S -> cons(V1:S:S,V2:S:S)}, l': isNatIList(cons(V1:S:S,V2:S:S)), r: isNatList(x14:S), r': and(isNat(V1:S:S),isNatIList(V2:S:S))) 0.001/0.001 0.001/0.001 -> Critical pairs info: 0.001/0.001 => Not trivial, Not overlay, NW0, N1 0.001/0.001 => Not trivial, Not overlay, NW0, N2 0.001/0.001 => Not trivial, Not overlay, NW0, N3 0.001/0.001 => Not trivial, Overlay, NW0, N4 0.001/0.001 => Not trivial, Overlay, NW0, N5 0.001/0.001 0.001/0.001 -> Problem conclusions: 0.001/0.001 Left linear, Not right linear, Not linear 0.001/0.001 Not weakly orthogonal, Not almost orthogonal, Not orthogonal 0.001/0.001 Not Huet-Levy confluent, Not Newman confluent 0.001/0.001 R is a CS-TRS, Left-homogeneous u-replacing variables 0.001/0.001 0.001/0.001 0.001/0.001 Problem 1: 0.001/0.001 No Convergence Brute Force Processor: 0.001/0.001 -> Rewritings: 0.001/0.001 s: isNat(U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S)) 0.001/0.001 Nodes: [0] 0.001/0.001 Edges: [] 0.001/0.001 ID: 0 => ('isNat(U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S))', D0) 0.001/0.001 t: isNatList(cons(N:S:S,L:S:S)) 0.001/0.001 Nodes: [0,1] 0.001/0.001 Edges: [(0,1)] 0.001/0.001 ID: 0 => ('isNatList(cons(N:S:S,L:S:S))', D0) 0.001/0.001 ID: 1 => ('and(isNat(N:S:S),isNatList(L:S:S))', D1, R9, P[], S{x15:S -> N:S:S, x16:S -> L:S:S}), NR: 'and(isNat(N:S:S),isNatList(L:S:S))' 0.001/0.001 isNat(U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S)) ->* no union *<- isNatList(cons(N:S:S,L:S:S)) 0.001/0.001 "Not joinable" 0.001/0.001 0.001/0.001 The problem is not joinable. 0.001/0.001 0.00user 0.00system 0:00.01elapsed 58%CPU (0avgtext+0avgdata 10148maxresident)k 0.001/0.001 8inputs+0outputs (0major+862minor)pagefaults 0swaps