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 Y:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (U11 1) 0.002/0.002 (U12 1) 0.002/0.002 (afterNth 1 2) 0.002/0.002 (and 1) 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 (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 (tt) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 U11(tt,N:S,X:S,XS:S) -> U12(splitAt(N:S,XS:S),X:S) 0.002/0.002 U12(pair(YS:S,ZS:S),X:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 and(tt,X:S) -> X:S 0.002/0.002 fst(pair(X:S,Y:S)) -> X: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(X:S,Y:S)) -> Y: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)) -> U11(tt,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 ) 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 Y:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (U11 1) 0.002/0.002 (U12 1) 0.002/0.002 (afterNth 1 2) 0.002/0.002 (and 1) 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 (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 (tt) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 U11(tt,N:S,X:S,XS:S) -> U12(splitAt(N:S,XS:S),X:S) 0.002/0.002 U12(pair(YS:S,ZS:S),X:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 and(tt,X:S) -> X:S 0.002/0.002 fst(pair(X:S,Y:S)) -> X: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(X:S,Y:S)) -> Y: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)) -> U11(tt,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 ) 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 Y:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (U11 1) 0.002/0.002 (U12 1) 0.002/0.002 (afterNth 1 2) 0.002/0.002 (and 1) 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 (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 (tt) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 U11(tt,N:S,X:S,XS:S) -> U12(splitAt(N:S,XS:S),X:S) 0.002/0.002 U12(pair(YS:S,ZS:S),X:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 and(tt,X:S) -> X:S 0.002/0.002 fst(pair(X:S,Y:S)) -> X: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(X:S,Y:S)) -> Y: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)) -> U11(tt,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 ) 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) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 2 (l' :-> r') => U12(pair(YS:S,ZS:S),X:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> U12(pair(YS:S,ZS:S),X:S)} 0.002/0.002 s => pair(cons(x10:S,U12(pair(YS:S,ZS:S),X:S)),x12:S) 0.002/0.002 t => U12(pair(pair(cons(X:S,YS:S),ZS:S),x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 3 (l' :-> r') => afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> afterNth(N:S,XS:S)} 0.002/0.002 s => pair(cons(x10:S,afterNth(N:S,XS:S)),x12:S) 0.002/0.002 t => U12(pair(snd(splitAt(N:S,XS:S)),x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 4 (l' :-> r') => and(tt,X:S) -> X:S 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> and(tt,X:S)} 0.002/0.002 s => pair(cons(x10:S,and(tt,X:S)),x12:S) 0.002/0.002 t => U12(pair(X:S,x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 5 (l' :-> r') => fst(pair(X:S,Y:S)) -> X:S 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> fst(pair(X:S,Y:S))} 0.002/0.002 s => pair(cons(x10:S,fst(pair(X:S,Y:S))),x12:S) 0.002/0.002 t => U12(pair(X:S,x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 6 (l' :-> r') => head(cons(N:S,XS:S)) -> N:S 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> head(cons(N:S,XS:S))} 0.002/0.002 s => pair(cons(x10:S,head(cons(N:S,XS:S))),x12:S) 0.002/0.002 t => U12(pair(N:S,x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 7 (l' :-> r') => natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> natsFrom(N:S)} 0.002/0.002 s => pair(cons(x10:S,natsFrom(N:S)),x12:S) 0.002/0.002 t => U12(pair(cons(N:S,natsFrom(s(N:S))),x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 8 (l' :-> r') => sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> sel(N:S,XS:S)} 0.002/0.002 s => pair(cons(x10:S,sel(N:S,XS:S)),x12:S) 0.002/0.002 t => U12(pair(head(afterNth(N:S,XS:S)),x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 9 (l' :-> r') => snd(pair(X:S,Y:S)) -> Y:S 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> snd(pair(X:S,Y:S))} 0.002/0.002 s => pair(cons(x10:S,snd(pair(X:S,Y:S))),x12:S) 0.002/0.002 t => U12(pair(Y:S,x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 10 (l' :-> r') => splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> splitAt(0,XS:S)} 0.002/0.002 s => pair(cons(x10:S,splitAt(0,XS:S)),x12:S) 0.002/0.002 t => U12(pair(pair(nil,XS:S),x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 11 (l' :-> r') => splitAt(s(N:S),cons(X:S,XS:S)) -> U11(tt,N:S,X:S,XS:S) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> splitAt(s(N:S),cons(X:S,XS:S))} 0.002/0.002 s => pair(cons(x10:S,splitAt(s(N:S),cons(X:S,XS:S))),x12:S) 0.002/0.002 t => U12(pair(U11(tt,N:S,X:S,XS:S),x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 12 (l' :-> r') => tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> tail(cons(N:S,XS:S))} 0.002/0.002 s => pair(cons(x10:S,tail(cons(N:S,XS:S))),x12:S) 0.002/0.002 t => U12(pair(XS:S,x12:S),x10:S) 0.002/0.002 NW => 1 0.002/0.002 0.002/0.002 0.002/0.002 ->Extended u-Critical Pair: 0.002/0.002 Rule 1 (l :-> r) => U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S) 0.002/0.002 Rule 13 (l' :-> r') => take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 Var => x11:S 0.002/0.002 Pos x11:S in l => [1,1] 0.002/0.002 Sigma => {x11:S -> take(N:S,XS:S)} 0.002/0.002 s => pair(cons(x10:S,take(N:S,XS:S)),x12:S) 0.002/0.002 t => U12(pair(fst(splitAt(N:S,XS:S)),x12:S),x10:S) 0.002/0.002 NW => 1 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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 7 (l' :-> r') => natsFrom(N:S) -> cons(N:S,natsFrom(s(N:S))) 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20: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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 8 (l' :-> r') => sel(N:S,XS:S) -> head(afterNth(N:S,XS:S)) 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20: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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 9 (l' :-> r') => snd(pair(X:S,Y:S)) -> Y:S 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20:S -> snd(pair(X:S,Y:S))} 0.002/0.002 s => cons(snd(pair(X:S,Y:S)),natsFrom(s(snd(pair(X:S,Y:S))))) 0.002/0.002 t => natsFrom(Y: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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 10 (l' :-> r') => splitAt(0,XS:S) -> pair(nil,XS:S) 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20: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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 11 (l' :-> r') => splitAt(s(N:S),cons(X:S,XS:S)) -> U11(tt,N:S,X:S,XS:S) 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20: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(U11(tt,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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 12 (l' :-> r') => tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20: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(x20:S) -> cons(x20:S,natsFrom(s(x20:S))) 0.002/0.002 Rule 13 (l' :-> r') => take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 Var => x20:S 0.002/0.002 Pos x20:S in l => [1] 0.002/0.002 Sigma => {x20: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) => splitAt(s(x26:S),cons(x27:S,x28:S)) -> U11(tt,x26:S,x27:S,x28:S) 0.002/0.002 Rule 11 (l' :-> r') => splitAt(s(N:S),cons(X:S,XS:S)) -> U11(tt,N:S,X:S,XS:S) 0.002/0.002 Var => x26:S 0.002/0.002 Pos x26:S in l => [1,1] 0.002/0.002 Sigma => {x26:S -> splitAt(s(N:S),cons(X:S,XS:S))} 0.002/0.002 s => U11(tt,splitAt(s(N:S),cons(X:S,XS:S)),x27:S,x28:S) 0.002/0.002 t => splitAt(s(U11(tt,N:S,X:S,XS:S)),cons(x27:S,x28:S)) 0.002/0.002 NW => 1 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(x26:S),cons(x27:S,x28:S)) -> U11(tt,x26:S,x27:S,x28:S) 0.002/0.002 Rule 12 (l' :-> r') => tail(cons(N:S,XS:S)) -> XS:S 0.002/0.002 Var => x26:S 0.002/0.002 Pos x26:S in l => [1,1] 0.002/0.002 Sigma => {x26:S -> tail(cons(N:S,XS:S))} 0.002/0.002 s => U11(tt,tail(cons(N:S,XS:S)),x27:S,x28:S) 0.002/0.002 t => splitAt(s(XS:S),cons(x27:S,x28:S)) 0.002/0.002 NW => 1 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(x26:S),cons(x27:S,x28:S)) -> U11(tt,x26:S,x27:S,x28:S) 0.002/0.002 Rule 13 (l' :-> r') => take(N:S,XS:S) -> fst(splitAt(N:S,XS:S)) 0.002/0.002 Var => x26:S 0.002/0.002 Pos x26:S in l => [1,1] 0.002/0.002 Sigma => {x26:S -> take(N:S,XS:S)} 0.002/0.002 s => U11(tt,take(N:S,XS:S),x27:S,x28:S) 0.002/0.002 t => splitAt(s(fst(splitAt(N:S,XS:S))),cons(x27:S,x28: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 Y:S YS:S ZS:S) 0.002/0.002 (STRATEGY CONTEXTSENSITIVE 0.002/0.002 (U11 1) 0.002/0.002 (U12 1) 0.002/0.002 (afterNth 1 2) 0.002/0.002 (and 1) 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 (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 (tt) 0.002/0.002 ) 0.002/0.002 (RULES 0.002/0.002 U11(tt,N:S,X:S,XS:S) -> U12(splitAt(N:S,XS:S),X:S) 0.002/0.002 U12(pair(YS:S,ZS:S),X:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 and(tt,X:S) -> X:S 0.002/0.002 fst(pair(X:S,Y:S)) -> X: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(X:S,Y:S)) -> Y: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)) -> U11(tt,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 ) 0.002/0.002 Critical Pairs: 0.002/0.002 => Not trivial, Not overlay, NW1, N1 0.002/0.002 => Not trivial, Not overlay, NW1, N2 0.002/0.002 => Not trivial, Not overlay, NW1, N3 0.002/0.002 => Not trivial, Not overlay, NW1, N4 0.002/0.002 => Not trivial, Not overlay, NW1, N5 0.002/0.002 => Not trivial, Not overlay, NW1, N6 0.002/0.002 => Not trivial, Not overlay, NW1, N7 0.002/0.002 => Not trivial, Not overlay, NW1, N8 0.002/0.002 => Not trivial, Not overlay, NW1, N9 0.002/0.002 => Not trivial, Not overlay, NW1, N10 0.002/0.002 => Not trivial, Not overlay, NW1, N11 0.002/0.002 => Not trivial, Not overlay, NW1, N12 0.002/0.002 => Not trivial, Not overlay, NW0, N13 0.002/0.002 => Not trivial, Not overlay, NW0, N14 0.002/0.002 => Not trivial, Not overlay, NW0, N15 0.002/0.002 => Not trivial, Not overlay, NW0, N16 0.002/0.002 => Not trivial, Not overlay, NW0, N17 0.002/0.002 => Not trivial, Not overlay, NW0, N18 0.002/0.002 => Not trivial, Not overlay, NW0, N19 0.002/0.002 => Not trivial, Not overlay, NW1, N20 0.002/0.002 => Not trivial, Not overlay, NW1, N21 0.002/0.002 => Not trivial, Not overlay, NW1, N22 0.002/0.002 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 0.002/0.002 0.002/0.002 Huet Levy Processor: 0.002/0.002 -> Rules: 0.002/0.002 U11(tt,N:S,X:S,XS:S) -> U12(splitAt(N:S,XS:S),X:S) 0.002/0.002 U12(pair(YS:S,ZS:S),X:S) -> pair(cons(X:S,YS:S),ZS:S) 0.002/0.002 afterNth(N:S,XS:S) -> snd(splitAt(N:S,XS:S)) 0.002/0.002 and(tt,X:S) -> X:S 0.002/0.002 fst(pair(X:S,Y:S)) -> X: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(X:S,Y:S)) -> Y: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)) -> U11(tt,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 -> Vars: 0.002/0.002 N, X, XS, X, YS, ZS, N, XS, X, X, Y, N, XS, N, N, XS, X, Y, XS, N, X, XS, N, XS, N, XS 0.002/0.002 -> UVars: 0.002/0.002 (UV-RuleId: 1, UV-LActive: [], UV-RActive: [N, XS], UV-LFrozen: [N, X, XS], UV-RFrozen: [X]) 0.002/0.002 (UV-RuleId: 2, UV-LActive: [YS, ZS], UV-RActive: [X, ZS], UV-LFrozen: [X], UV-RFrozen: [YS]) 0.002/0.002 (UV-RuleId: 3, UV-LActive: [N, XS], UV-RActive: [N, XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 4, UV-LActive: [], UV-RActive: [X], UV-LFrozen: [X], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 5, UV-LActive: [X, Y], UV-RActive: [X], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 6, UV-LActive: [N], UV-RActive: [N], UV-LFrozen: [XS], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 7, UV-LActive: [N], UV-RActive: [N], UV-LFrozen: [], UV-RFrozen: [N]) 0.002/0.002 (UV-RuleId: 8, UV-LActive: [N, XS], UV-RActive: [N, XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 9, UV-LActive: [X, Y], UV-RActive: [Y], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 10, UV-LActive: [XS], UV-RActive: [XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 11, UV-LActive: [N, X], UV-RActive: [], UV-LFrozen: [XS], UV-RFrozen: [N, X, XS]) 0.002/0.002 (UV-RuleId: 12, UV-LActive: [N], UV-RActive: [XS], UV-LFrozen: [XS], UV-RFrozen: []) 0.002/0.002 (UV-RuleId: 13, UV-LActive: [N, XS], UV-RActive: [N, XS], UV-LFrozen: [], UV-RFrozen: []) 0.002/0.002 -> FVars: 0.002/0.002 x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32 0.002/0.002 -> PVars: 0.002/0.002 N: [x7, x13, x18, x20, x21, x26, x29, x31], X: [x8, x10, x15, x16, x23, x27], XS: [x9, x14, x19, x22, x25, x28, x30, x32], YS: [x11], ZS: [x12], Y: [x17, x24] 0.002/0.002 0.002/0.002 -> Rlps: 0.002/0.002 (rule: U11(tt,x7:S,x8:S,x9:S) -> U12(splitAt(x7:S,x9:S),x8:S), id: 1, possubterms: U11(tt,x7:S,x8:S,x9:S)->[], tt->[1]) 0.002/0.002 (rule: U12(pair(x11:S,x12:S),x10:S) -> pair(cons(x10:S,x11:S),x12:S), id: 2, possubterms: U12(pair(x11:S,x12:S),x10:S)->[], pair(x11:S,x12:S)->[1]) 0.002/0.002 (rule: afterNth(x13:S,x14:S) -> snd(splitAt(x13:S,x14:S)), id: 3, possubterms: afterNth(x13:S,x14:S)->[]) 0.002/0.002 (rule: and(tt,x15:S) -> x15:S, id: 4, possubterms: and(tt,x15:S)->[], tt->[1]) 0.002/0.002 (rule: fst(pair(x16:S,x17:S)) -> x16:S, id: 5, possubterms: fst(pair(x16:S,x17:S))->[], pair(x16:S,x17:S)->[1]) 0.002/0.002 (rule: head(cons(x18:S,x19:S)) -> x18:S, id: 6, possubterms: head(cons(x18:S,x19:S))->[], cons(x18:S,x19:S)->[1]) 0.002/0.002 (rule: natsFrom(x20:S) -> cons(x20:S,natsFrom(s(x20:S))), id: 7, possubterms: natsFrom(x20:S)->[]) 0.002/0.002 (rule: sel(x21:S,x22:S) -> head(afterNth(x21:S,x22:S)), id: 8, possubterms: sel(x21:S,x22:S)->[]) 0.002/0.002 (rule: snd(pair(x23:S,x24:S)) -> x24:S, id: 9, possubterms: snd(pair(x23:S,x24:S))->[], pair(x23:S,x24:S)->[1]) 0.002/0.002 (rule: splitAt(0,x25:S) -> pair(nil,x25:S), id: 10, possubterms: splitAt(0,x25:S)->[], 0->[1]) 0.002/0.002 (rule: splitAt(s(x26:S),cons(x27:S,x28:S)) -> U11(tt,x26:S,x27:S,x28:S), id: 11, possubterms: splitAt(s(x26:S),cons(x27:S,x28:S))->[], s(x26:S)->[1], cons(x27:S,x28:S)->[2]) 0.002/0.002 (rule: tail(cons(x29:S,x30:S)) -> x30:S, id: 12, possubterms: tail(cons(x29:S,x30:S))->[], cons(x29:S,x30:S)->[1]) 0.002/0.002 (rule: take(x31:S,x32:S) -> fst(splitAt(x31:S,x32:S)), id: 13, possubterms: take(x31:S,x32:S)->[]) 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, NW1, N1 0.002/0.002 => Not trivial, Not overlay, NW1, N2 0.002/0.002 => Not trivial, Not overlay, NW1, N3 0.002/0.002 => Not trivial, Not overlay, NW1, 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, NW1, N7 0.002/0.002 => Not trivial, Not overlay, NW1, N8 0.002/0.002 => Not trivial, Not overlay, NW1, 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, NW1, N12 0.002/0.002 => Not trivial, Not overlay, NW1, N13 0.002/0.002 => Not trivial, Not overlay, NW0, N14 0.002/0.002 => Not trivial, Not overlay, NW1, N15 0.002/0.002 => Not trivial, Not overlay, NW1, N16 0.002/0.002 => Not trivial, Not overlay, NW1, N17 0.002/0.002 => Not trivial, Not overlay, NW0, N18 0.002/0.002 => Not trivial, Not overlay, NW0, N19 0.002/0.002 => Not trivial, Not overlay, NW1, N20 0.002/0.002 => Not trivial, Not overlay, NW1, N21 0.002/0.002 => Not trivial, Not overlay, NW1, N22 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: pair(cons(X:S,snd(pair(X:S,Y:S))),ZS:S) 0.002/0.002 Nodes: [0] 0.002/0.002 Edges: [] 0.002/0.002 ID: 0 => ('pair(cons(X:S,snd(pair(X:S,Y:S))),ZS:S)', D0) 0.002/0.002 t: U12(pair(Y:S,ZS:S),X:S) 0.002/0.002 Nodes: [0,1] 0.002/0.002 Edges: [(0,1)] 0.002/0.002 ID: 0 => ('U12(pair(Y:S,ZS:S),X:S)', D0) 0.002/0.002 ID: 1 => ('pair(cons(X:S,Y:S),ZS:S)', D1, R2, P[], S{x10:S -> X:S, x11:S -> Y:S, x12:S -> ZS:S}), NR: 'pair(cons(X:S,Y:S),ZS:S)' 0.002/0.002 pair(cons(X:S,snd(pair(X:S,Y:S))),ZS:S) ->* no union *<- U12(pair(Y:S,ZS:S),X: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 81%CPU (0avgtext+0avgdata 11740maxresident)k 0.002/0.002 0inputs+0outputs (0major+1286minor)pagefaults 0swaps