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 IL:S:S L:S:S M: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 (U21 1) 0.001/0.001 (U31 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 (take 1 2) 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 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S:S,M:S:S,N:S:S) -> cons(N:S:S,take(M:S:S,IL: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(take(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2: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 take(num0,IL:S:S) -> U21(isNatIList(IL:S:S)) 0.001/0.001 take(s(M:S:S),cons(N:S:S,IL:S:S)) -> U31(and(isNatIList(IL:S:S),and(isNat(M:S:S),isNat(N:S:S))),IL:S:S,M:S:S,N:S:S) 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 IL:S:S L:S:S M: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 (U21 1) 0.001/0.001 (U31 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 (take 1 2) 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 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S:S,M:S:S,N:S:S) -> cons(N:S:S,take(M:S:S,IL: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(take(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2: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 take(num0,IL:S:S) -> U21(isNatIList(IL:S:S)) 0.001/0.001 take(s(M:S:S),cons(N:S:S,IL:S:S)) -> U31(and(isNatIList(IL:S:S),and(isNat(M:S:S),isNat(N:S:S))),IL:S:S,M:S:S,N:S:S) 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 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 v_NonEmpty:S:S IL:S:S L:S:S M: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 (U21 1) 0.001/0.001 (U31 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 (take 1 2) 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 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S:S,M:S:S,N:S:S) -> cons(N:S:S,take(M:S:S,IL: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(take(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2: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 take(num0,IL:S:S) -> U21(isNatIList(IL:S:S)) 0.001/0.001 take(s(M:S:S),cons(N:S:S,IL:S:S)) -> U31(and(isNatIList(IL:S:S),and(isNat(M:S:S),isNat(N:S:S))),IL:S:S,M:S:S,N:S:S) 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 U21(tt) -> nil 0.001/0.001 U31(tt,IL:S:S,M:S:S,N:S:S) -> cons(N:S:S,take(M:S:S,IL: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(take(V1:S:S,V2:S:S)) -> and(isNat(V1:S:S),isNatIList(V2: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 take(num0,IL:S:S) -> U21(isNatIList(IL:S:S)) 0.001/0.001 take(s(M:S:S),cons(N:S:S,IL:S:S)) -> U31(and(isNatIList(IL:S:S),and(isNat(M:S:S),isNat(N:S:S))),IL:S:S,M:S:S,N:S:S) 0.001/0.001 zeros -> cons(num0,zeros) 0.001/0.001 -> Vars: 0.001/0.001 L:S, IL:S, M:S, N:S, X:S, V1:S, V1:S, V1:S, V2:S, V:S, V1:S, V2:S, V1:S, V2:S, L:S, N:S, IL:S, IL:S, M: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: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 3, UV-LActive: [], UV-RActive: [], UV-LFrozen: [IL:S, M:S, N:S], UV-RFrozen: [IL:S, M:S, N:S]) 0.001/0.001 (UV-RuleId: 4, UV-LActive: [], UV-RActive: [X:S], UV-LFrozen: [X:S], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 5, UV-LActive: [V1:S], UV-RActive: [V1:S], UV-LFrozen: [], 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], UV-RFrozen: []) 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: [V1:S], UV-LFrozen: [V1:S, V2:S], UV-RFrozen: [V2:S]) 0.001/0.001 (UV-RuleId: 10, UV-LActive: [V:S], UV-RActive: [V:S], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 11, UV-LActive: [V1:S, V2:S], UV-RActive: [V1:S], UV-LFrozen: [], UV-RFrozen: [V2:S]) 0.001/0.001 (UV-RuleId: 12, UV-LActive: [], UV-RActive: [V1:S], UV-LFrozen: [V1:S, V2:S], UV-RFrozen: [V2:S]) 0.001/0.001 (UV-RuleId: 13, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 14, UV-LActive: [], UV-RActive: [L:S], UV-LFrozen: [L:S, N:S], UV-RFrozen: [L:S, N:S]) 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:S], UV-RActive: [IL:S], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 (UV-RuleId: 17, UV-LActive: [], UV-RActive: [IL:S], UV-LFrozen: [IL:S, M:S, N:S], UV-RFrozen: [IL:S, M:S, N:S]) 0.001/0.001 (UV-RuleId: 18, UV-LActive: [], UV-RActive: [], UV-LFrozen: [], UV-RFrozen: []) 0.001/0.001 -> FVars: 0.001/0.001 x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29 0.001/0.001 -> PVars: 0.001/0.001 L:S: [x10, x24], IL:S: [x11, x26, x27], M:S: [x12, x28], N:S: [x13, x25, x29], X:S: [x14], V1:S: [x15, x16, x17, x20, x22], V2:S: [x18, x21, x23], V:S: [x19] 0.001/0.001 0.001/0.001 -> Rlps: 0.001/0.001 (rule: U11(tt,x10:S) -> s(length(x10:S)), id: 1, possubterms: U11(tt,x10: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,x11:S,x12:S,x13:S) -> cons(x13:S,take(x12:S,x11:S)), id: 3, possubterms: U31(tt,x11:S,x12:S,x13:S)->[], tt->[1]) 0.001/0.001 (rule: and(tt,x14:S) -> x14:S, id: 4, possubterms: and(tt,x14:S)->[], tt->[1]) 0.001/0.001 (rule: isNat(length(x15:S)) -> isNatList(x15:S), id: 5, possubterms: isNat(length(x15:S))->[], length(x15:S)->[1]) 0.001/0.001 (rule: isNat(num0) -> tt, id: 6, possubterms: isNat(num0)->[], num0->[1]) 0.001/0.001 (rule: isNat(s(x16:S)) -> isNat(x16:S), id: 7, possubterms: isNat(s(x16:S))->[], s(x16:S)->[1]) 0.001/0.001 (rule: isNatIList(zeros) -> tt, id: 8, possubterms: isNatIList(zeros)->[], zeros->[1]) 0.001/0.001 (rule: isNatIList(cons(x17:S,x18:S)) -> and(isNat(x17:S),isNatIList(x18:S)), id: 9, possubterms: isNatIList(cons(x17:S,x18:S))->[], cons(x17:S,x18:S)->[1]) 0.001/0.001 (rule: isNatIList(x19:S) -> isNatList(x19:S), id: 10, possubterms: isNatIList(x19:S)->[]) 0.001/0.001 (rule: isNatList(take(x20:S,x21:S)) -> and(isNat(x20:S),isNatIList(x21:S)), id: 11, possubterms: isNatList(take(x20:S,x21:S))->[], take(x20:S,x21:S)->[1]) 0.001/0.001 (rule: isNatList(cons(x22:S,x23:S)) -> and(isNat(x22:S),isNatList(x23:S)), id: 12, possubterms: isNatList(cons(x22:S,x23:S))->[], cons(x22:S,x23:S)->[1]) 0.001/0.001 (rule: isNatList(nil) -> tt, id: 13, possubterms: isNatList(nil)->[], nil->[1]) 0.001/0.001 (rule: length(cons(x25:S,x24:S)) -> U11(and(isNatList(x24:S),isNat(x25:S)),x24:S), id: 14, possubterms: length(cons(x25:S,x24:S))->[], cons(x25:S,x24:S)->[1]) 0.001/0.001 (rule: length(nil) -> num0, id: 15, possubterms: length(nil)->[], nil->[1]) 0.001/0.001 (rule: take(num0,x26:S) -> U21(isNatIList(x26:S)), id: 16, possubterms: take(num0,x26:S)->[], num0->[1]) 0.001/0.001 (rule: take(s(x28:S),cons(x29:S,x27:S)) -> U31(and(isNatIList(x27:S),and(isNat(x28:S),isNat(x29:S))),x27:S,x28:S,x29:S), id: 17, possubterms: take(s(x28:S),cons(x29:S,x27:S))->[], s(x28:S)->[1], cons(x29:S,x27:S)->[2]) 0.001/0.001 (rule: zeros -> cons(num0,zeros), id: 18, possubterms: zeros->[]) 0.001/0.001 0.001/0.001 -> Unifications: 0.001/0.001 (R5 unifies with R14 at p: [1], l: isNat(length(x15:S)), lp: length(x15:S), sig: {x15:S -> cons(N:S:S,L:S:S)}, l': length(cons(N:S:S,L:S:S)), r: isNatList(x15:S), r': U11(and(isNatList(L:S:S),isNat(N:S:S)),L:S:S)) 0.001/0.001 (R5 unifies with R15 at p: [1], l: isNat(length(x15:S)), lp: length(x15:S), sig: {x15:S -> nil}, l': length(nil), r: isNatList(x15:S), r': num0) 0.001/0.001 (R8 unifies with R18 at p: [1], l: isNatIList(zeros), lp: zeros, sig: {}, l': zeros, r: tt, r': cons(num0,zeros)) 0.001/0.001 (R10 unifies with R8 at p: [], l: isNatIList(x19:S), lp: isNatIList(x19:S), sig: {x19:S -> zeros}, l': isNatIList(zeros), r: isNatList(x19:S), r': tt) 0.001/0.001 (R10 unifies with R9 at p: [], l: isNatIList(x19:S), lp: isNatIList(x19:S), sig: {x19:S -> cons(V1:S:S,V2:S:S)}, l': isNatIList(cons(V1:S:S,V2:S:S)), r: isNatList(x19:S), r': and(isNat(V1:S:S),isNatIList(V2:S:S))) 0.001/0.001 (R11 unifies with R16 at p: [1], l: isNatList(take(x20:S,x21:S)), lp: take(x20:S,x21:S), sig: {x20:S -> num0,x21:S -> IL:S:S}, l': take(num0,IL:S:S), r: and(isNat(x20:S),isNatIList(x21:S)), r': U21(isNatIList(IL:S:S))) 0.001/0.001 (R11 unifies with R17 at p: [1], l: isNatList(take(x20:S,x21:S)), lp: take(x20:S,x21:S), sig: {x20:S -> s(M:S:S),x21:S -> cons(N:S:S,IL:S:S)}, l': take(s(M:S:S),cons(N:S:S,IL:S:S)), r: and(isNat(x20:S),isNatIList(x21:S)), r': U31(and(isNatIList(IL:S:S),and(isNat(M:S:S),isNat(N:S:S))),IL:S:S,M:S:S,N:S: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, Not overlay, NW0, N2 0.001/0.001 => Not trivial, Overlay, NW0, N3 0.001/0.001 => Not trivial, Not overlay, NW0, N4 0.001/0.001 => Not trivial, Not overlay, NW0, N5 0.001/0.001 => Not trivial, Not overlay, NW0, N6 0.001/0.001 => Not trivial, Not overlay, NW0, N7 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:S),isNatIList(V2:S:S)) 0.001/0.001 Nodes: [0] 0.001/0.001 Edges: [] 0.001/0.001 ID: 0 => ('and(isNat(V1:S:S),isNatIList(V2:S:S))', D0) 0.001/0.001 t: isNatList(cons(V1:S:S,V2:S: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:S,V2:S:S))', D0) 0.001/0.001 ID: 1 => ('and(isNat(V1:S:S),isNatList(V2:S:S))', D1, R12, P[], S{x22:S -> V1:S:S, x23:S -> V2:S:S}), NR: 'and(isNat(V1:S:S),isNatList(V2:S:S))' 0.001/0.001 and(isNat(V1:S:S),isNatIList(V2:S:S)) ->* no union *<- isNatList(cons(V1:S:S,V2: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.01user 0.00system 0:00.01elapsed 91%CPU (0avgtext+0avgdata 10440maxresident)k 0.001/0.001 8inputs+0outputs (0major+941minor)pagefaults 0swaps