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 IL:S L:S M:S N:S V:S V1:S V2:S X:S) 0.001/0.001 (STRATEGY CONTEXTSENSITIVE 0.001/0.001 (U11 1) 0.001/0.001 (U21 1) 0.001/0.001 (U31 1) 0.001/0.001 (and 1) 0.001/0.001 (isNat) 0.001/0.001 (isNatIList) 0.001/0.001 (isNatList) 0.001/0.001 (length 1) 0.001/0.001 (take 1 2) 0.001/0.001 (zeros) 0.001/0.001 (0) 0.001/0.001 (cons 1) 0.001/0.001 (fSNonEmpty) 0.001/0.001 (nil) 0.001/0.001 (s 1) 0.001/0.001 (tt) 0.001/0.001 ) 0.001/0.001 (RULES 0.001/0.001 U11(tt,L:S) -> s(length(L:S)) 0.001/0.001 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S,M:S,N:S) -> cons(N:S,take(M:S,IL:S)) 0.001/0.001 and(tt,X:S) -> X:S 0.001/0.001 isNat(length(V1:S)) -> isNatList(V1:S) 0.001/0.001 isNat(0) -> tt 0.001/0.001 isNat(s(V1:S)) -> isNat(V1:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatIList(V:S) -> isNatList(V:S) 0.001/0.001 isNatList(take(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatList(V2:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S,L:S)) -> U11(and(isNatList(L:S),isNat(N:S)),L:S) 0.001/0.001 length(nil) -> 0 0.001/0.001 take(0,IL:S) -> U21(isNatIList(IL:S)) 0.001/0.001 take(s(M:S),cons(N:S,IL:S)) -> U31(and(isNatIList(IL:S),and(isNat(M:S),isNat(N:S))),IL:S,M:S,N:S) 0.001/0.001 zeros -> cons(0,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 IL:S L:S M:S N:S V:S V1:S V2:S X:S) 0.001/0.001 (STRATEGY CONTEXTSENSITIVE 0.001/0.001 (U11 1) 0.001/0.001 (U21 1) 0.001/0.001 (U31 1) 0.001/0.001 (and 1) 0.001/0.001 (isNat) 0.001/0.001 (isNatIList) 0.001/0.001 (isNatList) 0.001/0.001 (length 1) 0.001/0.001 (take 1 2) 0.001/0.001 (zeros) 0.001/0.001 (0) 0.001/0.001 (cons 1) 0.001/0.001 (fSNonEmpty) 0.001/0.001 (nil) 0.001/0.001 (s 1) 0.001/0.001 (tt) 0.001/0.001 ) 0.001/0.001 (RULES 0.001/0.001 U11(tt,L:S) -> s(length(L:S)) 0.001/0.001 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S,M:S,N:S) -> cons(N:S,take(M:S,IL:S)) 0.001/0.001 and(tt,X:S) -> X:S 0.001/0.001 isNat(length(V1:S)) -> isNatList(V1:S) 0.001/0.001 isNat(0) -> tt 0.001/0.001 isNat(s(V1:S)) -> isNat(V1:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatIList(V:S) -> isNatList(V:S) 0.001/0.001 isNatList(take(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatList(V2:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S,L:S)) -> U11(and(isNatList(L:S),isNat(N:S)),L:S) 0.001/0.001 length(nil) -> 0 0.001/0.001 take(0,IL:S) -> U21(isNatIList(IL:S)) 0.001/0.001 take(s(M:S),cons(N:S,IL:S)) -> U31(and(isNatIList(IL:S),and(isNat(M:S),isNat(N:S))),IL:S,M:S,N:S) 0.001/0.001 zeros -> cons(0,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 CS-TRS Processor: 0.001/0.001 R is a CS-TRS 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 IL:S L:S M:S N:S V:S V1:S V2:S X:S) 0.001/0.001 (STRATEGY CONTEXTSENSITIVE 0.001/0.001 (U11 1) 0.001/0.001 (U21 1) 0.001/0.001 (U31 1) 0.001/0.001 (and 1) 0.001/0.001 (isNat) 0.001/0.001 (isNatIList) 0.001/0.001 (isNatList) 0.001/0.001 (length 1) 0.001/0.001 (take 1 2) 0.001/0.001 (zeros) 0.001/0.001 (0) 0.001/0.001 (cons 1) 0.001/0.001 (fSNonEmpty) 0.001/0.001 (nil) 0.001/0.001 (s 1) 0.001/0.001 (tt) 0.001/0.001 ) 0.001/0.001 (RULES 0.001/0.001 U11(tt,L:S) -> s(length(L:S)) 0.001/0.001 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S,M:S,N:S) -> cons(N:S,take(M:S,IL:S)) 0.001/0.001 and(tt,X:S) -> X:S 0.001/0.001 isNat(length(V1:S)) -> isNatList(V1:S) 0.001/0.001 isNat(0) -> tt 0.001/0.001 isNat(s(V1:S)) -> isNat(V1:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatIList(V:S) -> isNatList(V:S) 0.001/0.001 isNatList(take(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatList(V2:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S,L:S)) -> U11(and(isNatList(L:S),isNat(N:S)),L:S) 0.001/0.001 length(nil) -> 0 0.001/0.001 take(0,IL:S) -> U21(isNatIList(IL:S)) 0.001/0.001 take(s(M:S),cons(N:S,IL:S)) -> U31(and(isNatIList(IL:S),and(isNat(M:S),isNat(N:S))),IL:S,M:S,N:S) 0.001/0.001 zeros -> cons(0,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(length(L:S)) 0.001/0.001 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S,M:S,N:S) -> cons(N:S,take(M:S,IL:S)) 0.001/0.001 and(tt,X:S) -> X:S 0.001/0.001 isNat(length(V1:S)) -> isNatList(V1:S) 0.001/0.001 isNat(0) -> tt 0.001/0.001 isNat(s(V1:S)) -> isNat(V1:S) 0.001/0.001 isNatIList(zeros) -> tt 0.001/0.001 isNatIList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatIList(V:S) -> isNatList(V:S) 0.001/0.001 isNatList(take(V1:S,V2:S)) -> and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 isNatList(cons(V1:S,V2:S)) -> and(isNat(V1:S),isNatList(V2:S)) 0.001/0.001 isNatList(nil) -> tt 0.001/0.001 length(cons(N:S,L:S)) -> U11(and(isNatList(L:S),isNat(N:S)),L:S) 0.001/0.001 length(nil) -> 0 0.001/0.001 take(0,IL:S) -> U21(isNatIList(IL:S)) 0.001/0.001 take(s(M:S),cons(N:S,IL:S)) -> U31(and(isNatIList(IL:S),and(isNat(M:S),isNat(N:S))),IL:S,M:S,N:S) 0.001/0.001 zeros -> cons(0,zeros) 0.001/0.001 -> Vars: 0.001/0.001 L, IL, M, N, X, V1, V1, V1, V2, V, V1, V2, V1, V2, L, N, IL, IL, M, N 0.001/0.001 -> UVars: 0.001/0.001 (UV-RuleId: 1, UV-LActive: [], UV-RActive: [L], UV-LFrozen: [L], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 2, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 3, UV-LActive: [], UV-RActive: [N], UV-LFrozen: [IL, M, N], UV-RFrozen: [IL, M]) 0.001/0.001 (UV-RuleId: 4, UV-LActive: [], UV-RActive: [X], UV-LFrozen: [X], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 5, UV-LActive: [], UV-RActive: [], UV-LFrozen: [V1], UV-RFrozen: [V1]) 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: [], UV-LFrozen: [V1], UV-RFrozen: [V1]) 0.001/0.001 (UV-RuleId: 8, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 9, UV-LActive: [], UV-RActive: [], UV-LFrozen: [V1, V2], UV-RFrozen: [V1, V2]) 0.001/0.001 (UV-RuleId: 10, UV-LActive: [], UV-RActive: [], UV-LFrozen: [V], UV-RFrozen: [V]) 0.001/0.001 (UV-RuleId: 11, UV-LActive: [], UV-RActive: [], UV-LFrozen: [V1, V2], UV-RFrozen: [V1, V2]) 0.001/0.001 (UV-RuleId: 12, UV-LActive: [], UV-RActive: [], UV-LFrozen: [V1, V2], UV-RFrozen: [V1, V2]) 0.001/0.001 (UV-RuleId: 13, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 14, UV-LActive: [N], UV-RActive: [], UV-LFrozen: [L], UV-RFrozen: [L, N]) 0.001/0.001 (UV-RuleId: 15, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 16, UV-LActive: [IL], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: [IL]) 0.001/0.001 (UV-RuleId: 17, UV-LActive: [M, N], UV-RActive: [], UV-LFrozen: [IL], UV-RFrozen: [IL, M, N]) 0.001/0.001 (UV-RuleId: 18, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 -> FVars: 0.001/0.001 x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28 0.001/0.001 -> PVars: 0.001/0.001 L: [x9, x23], IL: [x10, x25, x26], M: [x11, x27], N: [x12, x24, x28], X: [x13], V1: [x14, x15, x16, x19, x21], V2: [x17, x20, x22], V: [x18] 0.001/0.001 0.001/0.001 -> Rlps: 0.001/0.001 (rule: U11(tt,x9:S) -> s(length(x9:S)), id: 1, possubterms: U11(tt,x9:S)->[], tt->[1]) 0.001/0.001 (rule: U21(tt) -> nil, id: 2, possubterms: U21(tt)->[], tt->[1]) 0.001/0.001 (rule: U31(tt,x10:S,x11:S,x12:S) -> cons(x12:S,take(x11:S,x10:S)), id: 3, possubterms: U31(tt,x10:S,x11:S,x12:S)->[], tt->[1]) 0.001/0.001 (rule: and(tt,x13:S) -> x13:S, id: 4, possubterms: and(tt,x13:S)->[], tt->[1]) 0.001/0.001 (rule: isNat(length(x14:S)) -> isNatList(x14:S), id: 5, possubterms: isNat(length(x14:S))->[]) 0.001/0.001 (rule: isNat(0) -> tt, id: 6, possubterms: isNat(0)->[]) 0.001/0.001 (rule: isNat(s(x15:S)) -> isNat(x15:S), id: 7, possubterms: isNat(s(x15:S))->[]) 0.001/0.001 (rule: isNatIList(zeros) -> tt, id: 8, possubterms: isNatIList(zeros)->[]) 0.001/0.001 (rule: isNatIList(cons(x16:S,x17:S)) -> and(isNat(x16:S),isNatIList(x17:S)), id: 9, possubterms: isNatIList(cons(x16:S,x17:S))->[]) 0.001/0.001 (rule: isNatIList(x18:S) -> isNatList(x18:S), id: 10, possubterms: isNatIList(x18:S)->[]) 0.001/0.001 (rule: isNatList(take(x19:S,x20:S)) -> and(isNat(x19:S),isNatIList(x20:S)), id: 11, possubterms: isNatList(take(x19:S,x20:S))->[]) 0.001/0.001 (rule: isNatList(cons(x21:S,x22:S)) -> and(isNat(x21:S),isNatList(x22:S)), id: 12, possubterms: isNatList(cons(x21:S,x22:S))->[]) 0.001/0.001 (rule: isNatList(nil) -> tt, id: 13, possubterms: isNatList(nil)->[]) 0.001/0.001 (rule: length(cons(x24:S,x23:S)) -> U11(and(isNatList(x23:S),isNat(x24:S)),x23:S), id: 14, possubterms: length(cons(x24:S,x23:S))->[], cons(x24:S,x23:S)->[1]) 0.001/0.001 (rule: length(nil) -> 0, id: 15, possubterms: length(nil)->[], nil->[1]) 0.001/0.001 (rule: take(0,x25:S) -> U21(isNatIList(x25:S)), id: 16, possubterms: take(0,x25:S)->[], 0->[1]) 0.001/0.001 (rule: take(s(x27:S),cons(x28:S,x26:S)) -> U31(and(isNatIList(x26:S),and(isNat(x27:S),isNat(x28:S))),x26:S,x27:S,x28:S), id: 17, possubterms: take(s(x27:S),cons(x28:S,x26:S))->[], s(x27:S)->[1], cons(x28:S,x26:S)->[2]) 0.001/0.001 (rule: zeros -> cons(0,zeros), id: 18, possubterms: zeros->[]) 0.001/0.001 0.001/0.001 -> Unifications: 0.001/0.001 (R10 unifies with R8 at p: [], l: isNatIList(x18:S), lp: isNatIList(x18:S), sig: {x18:S -> zeros}, l': isNatIList(zeros), r: isNatList(x18:S), r': tt) 0.001/0.001 (R10 unifies with R9 at p: [], l: isNatIList(x18:S), lp: isNatIList(x18:S), sig: {x18:S -> cons(V1:S,V2:S)}, l': isNatIList(cons(V1:S,V2:S)), r: isNatList(x18:S), r': and(isNat(V1:S),isNatIList(V2:S))) 0.001/0.001 0.001/0.001 -> Critical pairs info: 0.001/0.001 => Not trivial, Overlay, NW0, N1 0.001/0.001 => Not trivial, Overlay, NW0, N2 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, Not 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: and(isNat(V1:S),isNatIList(V2:S)) 0.001/0.001 Nodes: [0] 0.001/0.001 Edges: [] 0.001/0.001 ID: 0 => ('and(isNat(V1:S),isNatIList(V2:S))', D0) 0.001/0.001 t: isNatList(cons(V1:S,V2:S)) 0.001/0.001 Nodes: [0,1] 0.001/0.001 Edges: [(0,1)] 0.001/0.001 ID: 0 => ('isNatList(cons(V1:S,V2:S))', D0) 0.001/0.001 ID: 1 => ('and(isNat(V1:S),isNatList(V2:S))', D1, R12, P[], S{x21:S -> V1:S, x22:S -> V2:S}), NR: 'and(isNat(V1:S),isNatList(V2:S))' 0.001/0.001 and(isNat(V1:S),isNatIList(V2:S)) ->* no union *<- isNatList(cons(V1:S,V2: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 75%CPU (0avgtext+0avgdata 10308maxresident)k 0.001/0.001 0inputs+0outputs (0major+911minor)pagefaults 0swaps