2.67/1.31 NO 2.67/1.32 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 2.67/1.32 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 2.67/1.32 2.67/1.32 2.67/1.32 Outermost Termination of the given OTRS could be disproven: 2.67/1.32 2.67/1.32 (0) OTRS 2.67/1.32 (1) OutermostNonTerminationProof [COMPLETE, 94 ms] 2.67/1.32 (2) NO 2.67/1.32 2.67/1.32 2.67/1.32 ---------------------------------------- 2.67/1.32 2.67/1.32 (0) 2.67/1.32 Obligation: 2.67/1.32 Term rewrite system R: 2.67/1.32 The TRS R consists of the following rules: 2.67/1.32 2.67/1.32 U11(tt) -> snd(splitAt(N, XS)) 2.67/1.32 U161(tt) -> cons(N) 2.67/1.32 U171(tt) -> head(afterNth(N, XS)) 2.67/1.32 U181(tt) -> Y 2.67/1.32 U191(tt) -> pair(nil, XS) 2.67/1.32 U201(tt) -> U202(splitAt(N, XS)) 2.67/1.32 U202(pair(YS, ZS)) -> pair(cons(X), ZS) 2.67/1.32 U21(tt) -> X 2.67/1.32 U211(tt) -> XS 2.67/1.32 U221(tt) -> fst(splitAt(N, XS)) 2.67/1.32 U31(tt) -> N 2.67/1.32 and(tt) -> X 2.67/1.32 U101(tt) -> U102(isNatural) 2.67/1.32 U102(tt) -> U103(isLNat) 2.67/1.32 U103(tt) -> tt 2.67/1.32 U111(tt) -> U112(isLNat) 2.67/1.32 U112(tt) -> tt 2.67/1.32 U121(tt) -> U122(isNatural) 2.67/1.32 U122(tt) -> tt 2.67/1.32 U131(tt) -> U132(isNatural) 2.67/1.32 U132(tt) -> U133(isLNat) 2.67/1.32 U133(tt) -> tt 2.67/1.32 U141(tt) -> U142(isLNat) 2.67/1.32 U142(tt) -> U143(isLNat) 2.67/1.32 U143(tt) -> tt 2.67/1.32 U151(tt) -> U152(isNatural) 2.67/1.32 U152(tt) -> U153(isLNat) 2.67/1.32 U153(tt) -> tt 2.67/1.32 U41(tt) -> U42(isNatural) 2.67/1.32 U42(tt) -> U43(isLNat) 2.67/1.32 U43(tt) -> tt 2.67/1.32 U51(tt) -> U52(isNatural) 2.67/1.32 U52(tt) -> U53(isLNat) 2.67/1.32 U53(tt) -> tt 2.67/1.32 U61(tt) -> U62(isPLNat) 2.67/1.32 U62(tt) -> tt 2.67/1.32 U71(tt) -> U72(isNatural) 2.67/1.32 U72(tt) -> tt 2.67/1.32 U81(tt) -> U82(isPLNat) 2.67/1.32 U82(tt) -> tt 2.67/1.32 U91(tt) -> U92(isLNat) 2.67/1.32 U92(tt) -> tt 2.67/1.32 afterNth(N, XS) -> U11(and(and(isNatural))) 2.67/1.32 fst(pair(X, Y)) -> U21(and(and(isLNat))) 2.67/1.32 head(cons(N)) -> U31(and(and(isNatural))) 2.67/1.32 isLNat -> tt 2.67/1.32 isLNat -> U41(and(isNaturalKind)) 2.67/1.32 isLNat -> U51(and(isNaturalKind)) 2.67/1.32 isLNat -> U61(isPLNatKind) 2.67/1.32 isLNat -> U71(isNaturalKind) 2.67/1.32 isLNat -> U81(isPLNatKind) 2.67/1.32 isLNat -> U91(isLNatKind) 2.67/1.32 isLNat -> U101(and(isNaturalKind)) 2.67/1.32 isLNatKind -> tt 2.67/1.32 isLNatKind -> and(isNaturalKind) 2.67/1.32 isLNatKind -> isPLNatKind 2.67/1.32 isLNatKind -> isNaturalKind 2.67/1.32 isLNatKind -> isLNatKind 2.67/1.32 isNatural -> tt 2.67/1.32 isNatural -> U111(isLNatKind) 2.67/1.32 isNatural -> U121(isNaturalKind) 2.67/1.32 isNatural -> U131(and(isNaturalKind)) 2.67/1.32 isNaturalKind -> tt 2.67/1.32 isNaturalKind -> isLNatKind 2.67/1.32 isNaturalKind -> isNaturalKind 2.67/1.32 isNaturalKind -> and(isNaturalKind) 2.67/1.32 isPLNat -> U141(and(isLNatKind)) 2.67/1.32 isPLNat -> U151(and(isNaturalKind)) 2.67/1.32 isPLNatKind -> and(isLNatKind) 2.67/1.32 isPLNatKind -> and(isNaturalKind) 2.67/1.32 natsFrom(N) -> U161(and(isNatural)) 2.67/1.32 sel(N, XS) -> U171(and(and(isNatural))) 2.67/1.32 snd(pair(X, Y)) -> U181(and(and(isLNat))) 2.67/1.32 splitAt(0, XS) -> U191(and(isLNat)) 2.67/1.32 splitAt(s(N), cons(X)) -> U201(and(and(isNatural))) 2.67/1.32 tail(cons(N)) -> U211(and(and(isNatural))) 2.67/1.32 take(N, XS) -> U221(and(and(isNatural))) 2.67/1.32 2.67/1.32 2.67/1.32 2.67/1.32 Outermost Strategy. 2.67/1.32 2.67/1.32 ---------------------------------------- 2.67/1.32 2.67/1.32 (1) OutermostNonTerminationProof (COMPLETE) 2.67/1.32 Term rewrite system R: 2.67/1.32 The TRS R consists of the following rules: 2.67/1.32 2.67/1.32 U11(tt) -> snd(splitAt(N, XS)) 2.67/1.32 U161(tt) -> cons(N) 2.67/1.32 U171(tt) -> head(afterNth(N, XS)) 2.67/1.32 U181(tt) -> Y 2.67/1.32 U191(tt) -> pair(nil, XS) 2.67/1.32 U201(tt) -> U202(splitAt(N, XS)) 2.67/1.32 U202(pair(YS, ZS)) -> pair(cons(X), ZS) 2.67/1.32 U21(tt) -> X 2.67/1.32 U211(tt) -> XS 2.67/1.32 U221(tt) -> fst(splitAt(N, XS)) 2.67/1.32 U31(tt) -> N 2.67/1.32 and(tt) -> X 2.67/1.32 U101(tt) -> U102(isNatural) 2.67/1.32 U102(tt) -> U103(isLNat) 2.67/1.32 U103(tt) -> tt 2.67/1.32 U111(tt) -> U112(isLNat) 2.67/1.32 U112(tt) -> tt 2.67/1.32 U121(tt) -> U122(isNatural) 2.67/1.32 U122(tt) -> tt 2.67/1.32 U131(tt) -> U132(isNatural) 2.67/1.32 U132(tt) -> U133(isLNat) 2.67/1.32 U133(tt) -> tt 2.67/1.32 U141(tt) -> U142(isLNat) 2.67/1.32 U142(tt) -> U143(isLNat) 2.67/1.32 U143(tt) -> tt 2.67/1.32 U151(tt) -> U152(isNatural) 2.67/1.32 U152(tt) -> U153(isLNat) 2.67/1.32 U153(tt) -> tt 2.67/1.32 U41(tt) -> U42(isNatural) 2.67/1.32 U42(tt) -> U43(isLNat) 2.67/1.32 U43(tt) -> tt 2.67/1.32 U51(tt) -> U52(isNatural) 2.67/1.32 U52(tt) -> U53(isLNat) 2.67/1.32 U53(tt) -> tt 2.67/1.32 U61(tt) -> U62(isPLNat) 2.67/1.32 U62(tt) -> tt 2.67/1.32 U71(tt) -> U72(isNatural) 2.67/1.32 U72(tt) -> tt 2.67/1.32 U81(tt) -> U82(isPLNat) 2.67/1.32 U82(tt) -> tt 2.67/1.32 U91(tt) -> U92(isLNat) 2.67/1.32 U92(tt) -> tt 2.67/1.32 afterNth(N, XS) -> U11(and(and(isNatural))) 2.67/1.32 fst(pair(X, Y)) -> U21(and(and(isLNat))) 2.67/1.32 head(cons(N)) -> U31(and(and(isNatural))) 2.67/1.32 isLNat -> tt 2.67/1.32 isLNat -> U41(and(isNaturalKind)) 2.67/1.32 isLNat -> U51(and(isNaturalKind)) 2.67/1.32 isLNat -> U61(isPLNatKind) 2.67/1.32 isLNat -> U71(isNaturalKind) 2.67/1.32 isLNat -> U81(isPLNatKind) 2.67/1.32 isLNat -> U91(isLNatKind) 2.67/1.32 isLNat -> U101(and(isNaturalKind)) 2.67/1.32 isLNatKind -> tt 2.67/1.32 isLNatKind -> and(isNaturalKind) 2.67/1.32 isLNatKind -> isPLNatKind 2.67/1.32 isLNatKind -> isNaturalKind 2.67/1.32 isLNatKind -> isLNatKind 2.67/1.32 isNatural -> tt 2.67/1.32 isNatural -> U111(isLNatKind) 2.67/1.32 isNatural -> U121(isNaturalKind) 2.67/1.32 isNatural -> U131(and(isNaturalKind)) 2.67/1.32 isNaturalKind -> tt 2.67/1.32 isNaturalKind -> isLNatKind 2.67/1.32 isNaturalKind -> isNaturalKind 2.67/1.32 isNaturalKind -> and(isNaturalKind) 2.67/1.32 isPLNat -> U141(and(isLNatKind)) 2.67/1.32 isPLNat -> U151(and(isNaturalKind)) 2.67/1.32 isPLNatKind -> and(isLNatKind) 2.67/1.32 isPLNatKind -> and(isNaturalKind) 2.67/1.32 natsFrom(N) -> U161(and(isNatural)) 2.67/1.32 sel(N, XS) -> U171(and(and(isNatural))) 2.67/1.32 snd(pair(X, Y)) -> U181(and(and(isLNat))) 2.67/1.32 splitAt(0, XS) -> U191(and(isLNat)) 2.67/1.32 splitAt(s(N), cons(X)) -> U201(and(and(isNatural))) 2.67/1.32 tail(cons(N)) -> U211(and(and(isNatural))) 2.67/1.32 take(N, XS) -> U221(and(and(isNatural))) 2.67/1.32 2.67/1.32 2.67/1.32 2.67/1.32 Outermost Strategy. 2.67/1.32 2.67/1.32 ---------- Loop: ---------- 2.67/1.32 2.67/1.32 U11(tt) -> snd(splitAt(U11(tt), U11(tt))) with rule U11(tt) -> snd(splitAt(N, XS)) at position [] and matcher [N / U11(tt), XS / U11(tt)] 2.67/1.32 2.67/1.32 Now an instance of the first term with Matcher [ ] occurs in the last term at position [0,0]. 2.67/1.32 2.67/1.32 Context: snd(splitAt([], U11(tt))) 2.67/1.32 2.67/1.32 We used [THIEMANN_LOOPS_UNDER_STRATEGIES] to show that this Loop is an Outermost-Loop. 2.67/1.32 ---------------------------------------- 2.67/1.32 2.67/1.32 (2) 2.67/1.32 NO 2.84/1.35 EOF