Runtime Complexity TRS:
The TRS R consists of the following rules:
a__natsFrom(N) → cons(mark(N), natsFrom(s(N)))
a__fst(pair(XS, YS)) → mark(XS)
a__snd(pair(XS, YS)) → mark(YS)
a__splitAt(0, XS) → pair(nil, mark(XS))
a__splitAt(s(N), cons(X, XS)) → a__u(a__splitAt(mark(N), mark(XS)), N, X, XS)
a__u(pair(YS, ZS), N, X, XS) → pair(cons(mark(X), YS), mark(ZS))
a__head(cons(N, XS)) → mark(N)
a__tail(cons(N, XS)) → mark(XS)
a__sel(N, XS) → a__head(a__afterNth(mark(N), mark(XS)))
a__take(N, XS) → a__fst(a__splitAt(mark(N), mark(XS)))
a__afterNth(N, XS) → a__snd(a__splitAt(mark(N), mark(XS)))
mark(natsFrom(X)) → a__natsFrom(mark(X))
mark(fst(X)) → a__fst(mark(X))
mark(snd(X)) → a__snd(mark(X))
mark(splitAt(X1, X2)) → a__splitAt(mark(X1), mark(X2))
mark(u(X1, X2, X3, X4)) → a__u(mark(X1), X2, X3, X4)
mark(head(X)) → a__head(mark(X))
mark(tail(X)) → a__tail(mark(X))
mark(sel(X1, X2)) → a__sel(mark(X1), mark(X2))
mark(afterNth(X1, X2)) → a__afterNth(mark(X1), mark(X2))
mark(take(X1, X2)) → a__take(mark(X1), mark(X2))
mark(cons(X1, X2)) → cons(mark(X1), X2)
mark(s(X)) → s(mark(X))
mark(pair(X1, X2)) → pair(mark(X1), mark(X2))
mark(0) → 0
mark(nil) → nil
a__natsFrom(X) → natsFrom(X)
a__fst(X) → fst(X)
a__snd(X) → snd(X)
a__splitAt(X1, X2) → splitAt(X1, X2)
a__u(X1, X2, X3, X4) → u(X1, X2, X3, X4)
a__head(X) → head(X)
a__tail(X) → tail(X)
a__sel(X1, X2) → sel(X1, X2)
a__afterNth(X1, X2) → afterNth(X1, X2)
a__take(X1, X2) → take(X1, X2)
Renamed function symbols to avoid clashes with predefined symbol.
Runtime Complexity TRS:
The TRS R consists of the following rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), N, X, XS)
a__u'(pair'(YS, ZS), N, X, XS) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X2, X3, X4)) → a__u'(mark'(X1), X2, X3, X4)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X2, X3, X4) → u'(X1, X2, X3, X4)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Sliced the following arguments:
a__u'/1
a__u'/3
u'/1
u'/3
Runtime Complexity TRS:
The TRS R consists of the following rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Infered types.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Heuristically decided to analyse the following defined symbols:
a__natsFrom', mark', a__fst', a__snd', a__splitAt', a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
mark', a__natsFrom', a__fst', a__snd', a__splitAt', a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol mark'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__natsFrom', a__fst', a__snd', a__splitAt', a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__natsFrom'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__fst', a__snd', a__splitAt', a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__fst'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__snd', a__splitAt', a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__snd'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__splitAt', a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__splitAt'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__u', a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__u'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__head', a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__head'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
The following defined symbols remain to be analysed:
a__tail'
They will be analysed ascendingly in the following order:
a__natsFrom' = mark'
a__natsFrom' = a__fst'
a__natsFrom' = a__snd'
a__natsFrom' = a__splitAt'
a__natsFrom' = a__u'
a__natsFrom' = a__head'
a__natsFrom' = a__tail'
mark' = a__fst'
mark' = a__snd'
mark' = a__splitAt'
mark' = a__u'
mark' = a__head'
mark' = a__tail'
a__fst' = a__snd'
a__fst' = a__splitAt'
a__fst' = a__u'
a__fst' = a__head'
a__fst' = a__tail'
a__snd' = a__splitAt'
a__snd' = a__u'
a__snd' = a__head'
a__snd' = a__tail'
a__splitAt' = a__u'
a__splitAt' = a__head'
a__splitAt' = a__tail'
a__u' = a__head'
a__u' = a__tail'
a__head' = a__tail'
Could not prove a rewrite lemma for the defined symbol a__tail'.
Rules:
a__natsFrom'(N) → cons'(mark'(N), natsFrom'(s'(N)))
a__fst'(pair'(XS, YS)) → mark'(XS)
a__snd'(pair'(XS, YS)) → mark'(YS)
a__splitAt'(0', XS) → pair'(nil', mark'(XS))
a__splitAt'(s'(N), cons'(X, XS)) → a__u'(a__splitAt'(mark'(N), mark'(XS)), X)
a__u'(pair'(YS, ZS), X) → pair'(cons'(mark'(X), YS), mark'(ZS))
a__head'(cons'(N, XS)) → mark'(N)
a__tail'(cons'(N, XS)) → mark'(XS)
a__sel'(N, XS) → a__head'(a__afterNth'(mark'(N), mark'(XS)))
a__take'(N, XS) → a__fst'(a__splitAt'(mark'(N), mark'(XS)))
a__afterNth'(N, XS) → a__snd'(a__splitAt'(mark'(N), mark'(XS)))
mark'(natsFrom'(X)) → a__natsFrom'(mark'(X))
mark'(fst'(X)) → a__fst'(mark'(X))
mark'(snd'(X)) → a__snd'(mark'(X))
mark'(splitAt'(X1, X2)) → a__splitAt'(mark'(X1), mark'(X2))
mark'(u'(X1, X3)) → a__u'(mark'(X1), X3)
mark'(head'(X)) → a__head'(mark'(X))
mark'(tail'(X)) → a__tail'(mark'(X))
mark'(sel'(X1, X2)) → a__sel'(mark'(X1), mark'(X2))
mark'(afterNth'(X1, X2)) → a__afterNth'(mark'(X1), mark'(X2))
mark'(take'(X1, X2)) → a__take'(mark'(X1), mark'(X2))
mark'(cons'(X1, X2)) → cons'(mark'(X1), X2)
mark'(s'(X)) → s'(mark'(X))
mark'(pair'(X1, X2)) → pair'(mark'(X1), mark'(X2))
mark'(0') → 0'
mark'(nil') → nil'
a__natsFrom'(X) → natsFrom'(X)
a__fst'(X) → fst'(X)
a__snd'(X) → snd'(X)
a__splitAt'(X1, X2) → splitAt'(X1, X2)
a__u'(X1, X3) → u'(X1, X3)
a__head'(X) → head'(X)
a__tail'(X) → tail'(X)
a__sel'(X1, X2) → sel'(X1, X2)
a__afterNth'(X1, X2) → afterNth'(X1, X2)
a__take'(X1, X2) → take'(X1, X2)
Types:
a__natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
cons' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
mark' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
natsFrom' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
s' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
pair' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
0' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
nil' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
a__take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
fst' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
snd' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
splitAt' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
u' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
head' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
tail' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
sel' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
afterNth' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
take' :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take' → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_hole_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'1 :: s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2 :: Nat → s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'
Generator Equations:
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(0) ⇔ 0'
_gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(+(x, 1)) ⇔ cons'(0', _gen_s':natsFrom':cons':pair':0':nil':fst':snd':splitAt':u':head':tail':sel':afterNth':take'2(x))
No more defined symbols left to analyse.