0.002/0.002 NO 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 0.002/0.002 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 Confluence Problem: 0.002/0.002 (VAR vNonEmpty:S N:S X:S XS:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (afterNth 1 2) 0.002/0.002 (fst 1) 0.002/0.002 (head 1) 0.002/0.002 (natsFrom 1) 0.002/0.002 (sel 1 2) 0.002/0.002 (snd 1) 0.002/0.002 (splitAt 1 2) 0.002/0.002 (tail 1) 0.002/0.002 (take 1 2) 0.002/0.002 (u 1) 0.002/0.002 (0) 0.002/0.002 (cons 1) 0.002/0.002 (fSNonEmpty) 0.002/0.002 (nil) 0.002/0.002 (pair 1 2) 0.002/0.002 (s 1) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 fst(pair(XS:S,YS:S)) -> XS:S 0.002/0.002 head(cons(N:S,XS:S)) -> N:S 0.002/0.002 natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 snd(pair(XS:S,YS:S)) -> YS:S 0.002/0.002 splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 ) 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 0.002/0.002 CleanTRS Processor: 0.002/0.002 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 Confluence Problem: 0.002/0.002 (VAR vNonEmpty:S N:S X:S XS:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (afterNth 1 2) 0.002/0.002 (fst 1) 0.002/0.002 (head 1) 0.002/0.002 (natsFrom 1) 0.002/0.002 (sel 1 2) 0.002/0.002 (snd 1) 0.002/0.002 (splitAt 1 2) 0.002/0.002 (tail 1) 0.002/0.002 (take 1 2) 0.002/0.002 (u 1) 0.002/0.002 (0) 0.002/0.002 (cons 1) 0.002/0.002 (fSNonEmpty) 0.002/0.002 (nil) 0.002/0.002 (pair 1 2) 0.002/0.002 (s 1) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 fst(pair(XS:S,YS:S)) -> XS:S 0.002/0.002 head(cons(N:S,XS:S)) -> N:S 0.002/0.002 natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 snd(pair(XS:S,YS:S)) -> YS:S 0.002/0.002 splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 ) 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 0.002/0.002 Modular Confluence Combinations Decomposition Processor: 0.002/0.002 It is a CTRS -> No modular confluence 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 CS-TRS Processor: 0.002/0.002 R is a CS-TRS 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 Confluence Problem: 0.002/0.002 (VAR vNonEmpty:S N:S X:S XS:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (afterNth 1 2) 0.002/0.002 (fst 1) 0.002/0.002 (head 1) 0.002/0.002 (natsFrom 1) 0.002/0.002 (sel 1 2) 0.002/0.002 (snd 1) 0.002/0.002 (splitAt 1 2) 0.002/0.002 (tail 1) 0.002/0.002 (take 1 2) 0.002/0.002 (u 1) 0.002/0.002 (0) 0.002/0.002 (cons 1) 0.002/0.002 (fSNonEmpty) 0.002/0.002 (nil) 0.002/0.002 (pair 1 2) 0.002/0.002 (s 1) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 fst(pair(XS:S,YS:S)) -> XS:S 0.002/0.002 head(cons(N:S,XS:S)) -> N:S 0.002/0.002 natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 snd(pair(XS:S,YS:S)) -> YS:S 0.002/0.002 splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 ) 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 0.002/0.002 Extended u-Critical Pairs NonLHRV Processor [JLAMP21]: 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 4 (l' :-> r') => natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> natsFrom(N:S)} 0.002/0.002 s => cons(natsFrom(N:S),natsFrom(s(natsFrom(N:S)))) 0.002/0.002 t => natsFrom(cons(N:S,natsFrom(s(N:S)))) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 5 (l' :-> r') => sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> sel(N:S,XS:S)} 0.002/0.002 s => cons(sel(N:S,XS:S),natsFrom(s(sel(N:S,XS:S)))) 0.002/0.002 t => natsFrom(head(afterNth(N:S,XS:S))) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 6 (l' :-> r') => snd(pair(XS:S,YS:S)) -> YS:S 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> snd(pair(XS:S,YS:S))} 0.002/0.002 s => cons(snd(pair(XS:S,YS:S)),natsFrom(s(snd(pair(XS:S,YS:S))))) 0.002/0.002 t => natsFrom(YS:S) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 7 (l' :-> r') => splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> splitAt(0,XS:S)} 0.002/0.002 s => cons(splitAt(0,XS:S),natsFrom(s(splitAt(0,XS:S)))) 0.002/0.002 t => natsFrom(pair(nil,XS:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 8 (l' :-> r') => splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> splitAt(s(N:S),cons(X:S,XS:S))} 0.002/0.002 s => cons(splitAt(s(N:S),cons(X:S,XS:S)),natsFrom(s(splitAt(s(N:S),cons(X:S,XS:S))))) 0.002/0.002 t => natsFrom(u(splitAt(N:S,XS:S),N:S,X:S,XS:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 9 (l' :-> r') => tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> tail(cons(N:S,XS:S))} 0.002/0.002 s => cons(tail(cons(N:S,XS:S)),natsFrom(s(tail(cons(N:S,XS:S))))) 0.002/0.002 t => natsFrom(XS:S) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 10 (l' :-> r') => take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> take(N:S,XS:S)} 0.002/0.002 s => cons(take(N:S,XS:S),natsFrom(s(take(N:S,XS:S)))) 0.002/0.002 t => natsFrom(fst(splitAt(N:S,XS:S))) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))) 0.002/0.002 Rule 11 (l' :-> r') => u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 Var => x12:S 0.002/0.002 Pos x12:S in l => [1] 0.002/0.002 Sigma => {x12:S -> u(pair(YS:S,ZS:S),N:S,X:S,XS:S)} 0.002/0.002 s => cons(u(pair(YS:S,ZS:S),N:S,X:S,XS:S),natsFrom(s(u(pair(YS:S,ZS:S),N:S,X:S,XS:S)))) 0.002/0.002 t => natsFrom(pair(cons(X:S,YS:S),ZS:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => splitAt(s(x18:S),cons(x19:S,x20:S)) -> u(splitAt(x18:S,x20:S),x18:S,x19:S,x20:S) 0.002/0.002 Rule 8 (l' :-> r') => splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 Var => x18:S 0.002/0.002 Pos x18:S in l => [1,1] 0.002/0.002 Sigma => {x18:S -> splitAt(s(N:S),cons(X:S,XS:S))} 0.002/0.002 s => u(splitAt(splitAt(s(N:S),cons(X:S,XS:S)),x20:S),splitAt(s(N:S),cons(X:S,XS:S)),x19:S,x20:S) 0.002/0.002 t => splitAt(s(u(splitAt(N:S,XS:S),N:S,X:S,XS:S)),cons(x19:S,x20:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => splitAt(s(x18:S),cons(x19:S,x20:S)) -> u(splitAt(x18:S,x20:S),x18:S,x19:S,x20:S) 0.002/0.002 Rule 9 (l' :-> r') => tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 Var => x18:S 0.002/0.002 Pos x18:S in l => [1,1] 0.002/0.002 Sigma => {x18:S -> tail(cons(N:S,XS:S))} 0.002/0.002 s => u(splitAt(tail(cons(N:S,XS:S)),x20:S),tail(cons(N:S,XS:S)),x19:S,x20:S) 0.002/0.002 t => splitAt(s(XS:S),cons(x19:S,x20:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => splitAt(s(x18:S),cons(x19:S,x20:S)) -> u(splitAt(x18:S,x20:S),x18:S,x19:S,x20:S) 0.002/0.002 Rule 10 (l' :-> r') => take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 Var => x18:S 0.002/0.002 Pos x18:S in l => [1,1] 0.002/0.002 Sigma => {x18:S -> take(N:S,XS:S)} 0.002/0.002 s => u(splitAt(take(N:S,XS:S),x20:S),take(N:S,XS:S),x19:S,x20:S) 0.002/0.002 t => splitAt(s(fst(splitAt(N:S,XS:S))),cons(x19:S,x20:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => splitAt(s(x18:S),cons(x19:S,x20:S)) -> u(splitAt(x18:S,x20:S),x18:S,x19:S,x20:S) 0.002/0.002 Rule 11 (l' :-> r') => u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 Var => x18:S 0.002/0.002 Pos x18:S in l => [1,1] 0.002/0.002 Sigma => {x18:S -> u(pair(YS:S,ZS:S),N:S,X:S,XS:S)} 0.002/0.002 s => u(splitAt(u(pair(YS:S,ZS:S),N:S,X:S,XS:S),x20:S),u(pair(YS:S,ZS:S),N:S,X:S,XS:S),x19:S,x20:S) 0.002/0.002 t => splitAt(s(pair(cons(X:S,YS:S),ZS:S)),cons(x19:S,x20:S)) 0.002/0.002 NW => 0 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => u(pair(x28:S,x29:S),x25:S,x26:S,x27:S) -> pair(cons(x26:S,x28:S),x29:S) 0.002/0.002 Rule 11 (l' :-> r') => u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 Var => x28:S 0.002/0.002 Pos x28:S in l => [1,1] 0.002/0.002 Sigma => {x28:S -> u(pair(YS:S,ZS:S),N:S,X:S,XS:S)} 0.002/0.002 s => pair(cons(x26:S,u(pair(YS:S,ZS:S),N:S,X:S,XS:S)),x29:S) 0.002/0.002 t => u(pair(pair(cons(X:S,YS:S),ZS:S),x29:S),x25:S,x26:S,x27:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 Confluence Problem: 0.002/0.002 (VAR vNonEmpty:S N:S X:S XS:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (afterNth 1 2) 0.002/0.002 (fst 1) 0.002/0.002 (head 1) 0.002/0.002 (natsFrom 1) 0.002/0.002 (sel 1 2) 0.002/0.002 (snd 1) 0.002/0.002 (splitAt 1 2) 0.002/0.002 (tail 1) 0.002/0.002 (take 1 2) 0.002/0.002 (u 1) 0.002/0.002 (0) 0.002/0.002 (cons 1) 0.002/0.002 (fSNonEmpty) 0.002/0.002 (nil) 0.002/0.002 (pair 1 2) 0.002/0.002 (s 1) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 fst(pair(XS:S,YS:S)) -> XS:S 0.002/0.002 head(cons(N:S,XS:S)) -> N:S 0.002/0.002 natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 snd(pair(XS:S,YS:S)) -> YS:S 0.002/0.002 splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 ) 0.002/0.002 Critical Pairs: 0.002/0.002 => Not trivial, Not overlay, NW0, N1 0.002/0.002 => Not trivial, Not overlay, NW0, N2 0.002/0.002 => Not trivial, Not overlay, NW0, N3 0.002/0.002 => Not trivial, Not overlay, NW0, N4 0.002/0.002 => Not trivial, Not overlay, NW0, N5 0.002/0.002 => Not trivial, Not overlay, NW0, N6 0.002/0.002 => Not trivial, Not overlay, NW0, N7 0.002/0.002 => Not trivial, Not overlay, NW0, N8 0.002/0.002 => Not trivial, Not overlay, NW0, N9 0.002/0.002 => Not trivial, Not overlay, NW0, N10 0.002/0.002 => Not trivial, Not overlay, NW0, N11 0.002/0.002 => Not trivial, Not overlay, NW0, N12 0.002/0.002 => Not trivial, Not overlay, NW1, N13 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 0.002/0.002 Huet Levy Processor: 0.002/0.002 -> Rules: 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 fst(pair(XS:S,YS:S)) -> XS:S 0.002/0.002 head(cons(N:S,XS:S)) -> N:S 0.002/0.002 natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 snd(pair(XS:S,YS:S)) -> YS:S 0.002/0.002 splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 splitAt(s(N:S),cons(X:S,XS:S)) -> u(splitAt(N:S,XS:S),N:S,X:S,XS:S) 0.002/0.002 tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 u(pair(YS:S,ZS:S),N:S,X:S,XS:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 -> Vars: 0.002/0.002 N, XS, XS, YS, N, XS, N, N, XS, XS, YS, XS, N, X, XS, N, XS, N, XS, N, X, XS, YS, ZS 0.002/0.002 -> UVars: 0.002/0.002 (UV-RuleId: 1, UV-LActive: [N, XS], UV-RActive: [N, XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 2, UV-LActive: [XS, YS], UV-RActive: [XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 3, UV-LActive: [N], UV-RActive: [N], UV-LFrozen: [XS], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 4, UV-LActive: [N], UV-RActive: [N], UV-LFrozen: [], UV-RFrozen: [N]) 0.002/0.002 (UV-RuleId: 5, UV-LActive: [N, XS], UV-RActive: [N, XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 6, UV-LActive: [XS, YS], UV-RActive: [YS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 7, UV-LActive: [XS], UV-RActive: [XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 8, UV-LActive: [N, X], UV-RActive: [N, XS], UV-LFrozen: [XS], UV-RFrozen: [N, X, XS]) 0.002/0.002 (UV-RuleId: 9, UV-LActive: [N], UV-RActive: [XS], UV-LFrozen: [XS], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 10, UV-LActive: [N, XS], UV-RActive: [N, XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 11, UV-LActive: [YS, ZS], UV-RActive: [X, ZS], UV-LFrozen: [N, X, XS], UV-RFrozen: [YS]) 0.002/0.002 -> FVars: 0.002/0.002 x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29 0.002/0.002 -> PVars: 0.002/0.002 N: [x6, x10, x12, x13, x18, x21, x23, x25], XS: [x7, x8, x11, x14, x15, x17, x20, x22, x24, x27], YS: [x9, x16, x28], X: [x19, x26], ZS: [x29] 0.002/0.002 0.002/0.002 -> Rlps: 0.002/0.002 (rule: afterNth(x6:S,x7:S) -> snd(splitAt(x6:S,x7:S)), id: 1, possubterms: afterNth(x6:S,x7:S)->[]) 0.002/0.002 (rule: fst(pair(x8:S,x9:S)) -> x8:S, id: 2, possubterms: fst(pair(x8:S,x9:S))->[], pair(x8:S,x9:S)->[1]) 0.002/0.002 (rule: head(cons(x10:S,x11:S)) -> x10:S, id: 3, possubterms: head(cons(x10:S,x11:S))->[], cons(x10:S,x11:S)->[1]) 0.002/0.002 (rule: natsFrom(x12:S) -> cons(x12:S,natsFrom(s(x12:S))), id: 4, possubterms: natsFrom(x12:S)->[]) 0.002/0.002 (rule: sel(x13:S,x14:S) -> head(afterNth(x13:S,x14:S)), id: 5, possubterms: sel(x13:S,x14:S)->[]) 0.002/0.002 (rule: snd(pair(x15:S,x16:S)) -> x16:S, id: 6, possubterms: snd(pair(x15:S,x16:S))->[], pair(x15:S,x16:S)->[1]) 0.002/0.002 (rule: splitAt(0,x17:S) -> pair(nil,x17:S), id: 7, possubterms: splitAt(0,x17:S)->[], 0->[1]) 0.002/0.002 (rule: splitAt(s(x18:S),cons(x19:S,x20:S)) -> u(splitAt(x18:S,x20:S),x18:S,x19:S,x20:S), id: 8, possubterms: splitAt(s(x18:S),cons(x19:S,x20:S))->[], s(x18:S)->[1], cons(x19:S,x20:S)->[2]) 0.002/0.002 (rule: tail(cons(x21:S,x22:S)) -> x22:S, id: 9, possubterms: tail(cons(x21:S,x22:S))->[], cons(x21:S,x22:S)->[1]) 0.002/0.002 (rule: take(x23:S,x24:S) -> fst(splitAt(x23:S,x24:S)), id: 10, possubterms: take(x23:S,x24:S)->[]) 0.002/0.002 (rule: u(pair(x28:S,x29:S),x25:S,x26:S,x27:S) -> pair(cons(x26:S,x28:S),x29:S), id: 11, possubterms: u(pair(x28:S,x29:S),x25:S,x26:S,x27:S)->[], pair(x28:S,x29:S)->[1]) 0.002/0.002 0.002/0.002 -> Unifications: 0.002/0.002 0.002/0.002 0.002/0.002 -> Critical pairs info: 0.002/0.002 => Not trivial, Not overlay, NW0, N1 0.002/0.002 => Not trivial, Not overlay, NW1, N2 0.002/0.002 => Not trivial, Not overlay, NW0, N3 0.002/0.002 => Not trivial, Not overlay, NW0, N4 0.002/0.002 => Not trivial, Not overlay, NW0, N5 0.002/0.002 => Not trivial, Not overlay, NW0, N6 0.002/0.002 => Not trivial, Not overlay, NW0, N7 0.002/0.002 => Not trivial, Not overlay, NW0, N8 0.002/0.002 => Not trivial, Not overlay, NW0, N9 0.002/0.002 => Not trivial, Not overlay, NW0, N10 0.002/0.002 => Not trivial, Not overlay, NW0, N11 0.002/0.002 => Not trivial, Not overlay, NW0, N12 0.002/0.002 => Not trivial, Not overlay, NW0, N13 0.002/0.002 0.002/0.002 -> Problem conclusions: 0.002/0.002 Left linear, Not right linear, Not linear 0.002/0.002 Not weakly orthogonal, Not almost orthogonal, Not orthogonal 0.002/0.002 Not Huet-Levy confluent, Not Newman confluent 0.002/0.002 R is a CS-TRS, Not left-homogeneous u-replacing variables 0.002/0.002 0.002/0.002 0.002/0.002 Problem 1: 0.002/0.002 No Convergence Brute Force Processor: 0.002/0.002 -> Rewritings: 0.002/0.002 s: cons(tail(cons(N:S,XS:S)),natsFrom(s(tail(cons(N:S,XS:S))))) 0.002/0.002 Nodes: [0,1] 0.002/0.002 Edges: [(0,1)] 0.002/0.002 ID: 0 => ('cons(tail(cons(N:S,XS:S)),natsFrom(s(tail(cons(N:S,XS:S)))))', D0) 0.002/0.002 ID: 1 => ('cons(XS:S,natsFrom(s(tail(cons(N:S,XS:S)))))', D1, R9, P[1], S{x21:S -> N:S, x22:S -> XS:S}), NR: 'XS:S' 0.002/0.002 t: natsFrom(XS:S) 0.002/0.002 Nodes: [0,1] 0.002/0.002 Edges: [(0,1)] 0.002/0.002 ID: 0 => ('natsFrom(XS:S)', D0) 0.002/0.002 ID: 1 => ('cons(XS:S,natsFrom(s(XS:S)))', D1, R4, P[], S{x12:S -> XS:S}), NR: 'cons(XS:S,natsFrom(s(XS:S)))' 0.002/0.002 cons(tail(cons(N:S,XS:S)),natsFrom(s(tail(cons(N:S,XS:S))))) ->* no union *<- natsFrom(XS:S) 0.002/0.002 "Not joinable" 0.002/0.002 0.002/0.002 The problem is not joinable. 0.002/0.002 0.01user 0.00system 0:00.02elapsed 72%CPU (0avgtext+0avgdata 11472maxresident)k 0.002/0.002 0inputs+0outputs (0major+1222minor)pagefaults 0swaps