2.57/1.27 NO 2.57/1.28 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 2.57/1.28 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 2.57/1.28 2.57/1.28 2.57/1.28 Outermost Termination of the given OTRS could be disproven: 2.57/1.28 2.57/1.28 (0) OTRS 2.57/1.28 (1) OutermostNonTerminationProof [COMPLETE, 0 ms] 2.57/1.28 (2) NO 2.57/1.28 2.57/1.28 2.57/1.28 ---------------------------------------- 2.57/1.28 2.57/1.28 (0) 2.57/1.28 Obligation: 2.57/1.28 Term rewrite system R: 2.57/1.28 The TRS R consists of the following rules: 2.57/1.28 2.57/1.28 U101(tt) -> fst(splitAt(N, XS)) 2.57/1.28 U11(tt) -> snd(splitAt(N, XS)) 2.57/1.28 U21(tt) -> X 2.57/1.28 U31(tt) -> N 2.57/1.28 U41(tt) -> cons(N) 2.57/1.28 U51(tt) -> head(afterNth(N, XS)) 2.57/1.28 U61(tt) -> Y 2.57/1.28 U71(tt) -> pair(nil, XS) 2.57/1.28 U81(tt) -> U82(splitAt(N, XS)) 2.57/1.28 U82(pair(YS, ZS)) -> pair(cons(X), ZS) 2.57/1.28 U91(tt) -> XS 2.57/1.28 and(tt) -> X 2.57/1.28 afterNth(N, XS) -> U11(and(isNatural)) 2.57/1.28 fst(pair(X, Y)) -> U21(and(isLNat)) 2.57/1.28 head(cons(N)) -> U31(and(isNatural)) 2.57/1.28 isLNat -> tt 2.57/1.28 isLNat -> and(isNatural) 2.57/1.28 isLNat -> isPLNat 2.57/1.28 isLNat -> isNatural 2.57/1.28 isLNat -> isLNat 2.57/1.28 isNatural -> tt 2.57/1.28 isNatural -> isLNat 2.57/1.28 isNatural -> isNatural 2.57/1.28 isNatural -> and(isNatural) 2.57/1.28 isPLNat -> and(isLNat) 2.57/1.28 isPLNat -> and(isNatural) 2.57/1.28 natsFrom(N) -> U41(isNatural) 2.57/1.28 sel(N, XS) -> U51(and(isNatural)) 2.57/1.28 snd(pair(X, Y)) -> U61(and(isLNat)) 2.57/1.28 splitAt(0, XS) -> U71(isLNat) 2.57/1.28 splitAt(s(N), cons(X)) -> U81(and(isNatural)) 2.57/1.28 tail(cons(N)) -> U91(and(isNatural)) 2.57/1.28 take(N, XS) -> U101(and(isNatural)) 2.57/1.28 2.57/1.28 2.57/1.28 2.57/1.28 Outermost Strategy. 2.57/1.28 2.57/1.28 ---------------------------------------- 2.57/1.28 2.57/1.28 (1) OutermostNonTerminationProof (COMPLETE) 2.57/1.28 Term rewrite system R: 2.57/1.28 The TRS R consists of the following rules: 2.57/1.28 2.57/1.28 U101(tt) -> fst(splitAt(N, XS)) 2.57/1.28 U11(tt) -> snd(splitAt(N, XS)) 2.57/1.28 U21(tt) -> X 2.57/1.28 U31(tt) -> N 2.57/1.28 U41(tt) -> cons(N) 2.57/1.28 U51(tt) -> head(afterNth(N, XS)) 2.57/1.28 U61(tt) -> Y 2.57/1.28 U71(tt) -> pair(nil, XS) 2.57/1.28 U81(tt) -> U82(splitAt(N, XS)) 2.57/1.28 U82(pair(YS, ZS)) -> pair(cons(X), ZS) 2.57/1.28 U91(tt) -> XS 2.57/1.28 and(tt) -> X 2.57/1.28 afterNth(N, XS) -> U11(and(isNatural)) 2.57/1.28 fst(pair(X, Y)) -> U21(and(isLNat)) 2.57/1.28 head(cons(N)) -> U31(and(isNatural)) 2.57/1.28 isLNat -> tt 2.57/1.28 isLNat -> and(isNatural) 2.57/1.28 isLNat -> isPLNat 2.57/1.28 isLNat -> isNatural 2.57/1.28 isLNat -> isLNat 2.57/1.28 isNatural -> tt 2.57/1.28 isNatural -> isLNat 2.57/1.28 isNatural -> isNatural 2.57/1.28 isNatural -> and(isNatural) 2.57/1.28 isPLNat -> and(isLNat) 2.57/1.28 isPLNat -> and(isNatural) 2.57/1.28 natsFrom(N) -> U41(isNatural) 2.57/1.28 sel(N, XS) -> U51(and(isNatural)) 2.57/1.28 snd(pair(X, Y)) -> U61(and(isLNat)) 2.57/1.28 splitAt(0, XS) -> U71(isLNat) 2.57/1.28 splitAt(s(N), cons(X)) -> U81(and(isNatural)) 2.57/1.28 tail(cons(N)) -> U91(and(isNatural)) 2.57/1.28 take(N, XS) -> U101(and(isNatural)) 2.57/1.28 2.57/1.28 2.57/1.28 2.57/1.28 Outermost Strategy. 2.57/1.28 2.57/1.28 ---------- Loop: ---------- 2.57/1.28 2.57/1.28 U101(tt) -> fst(splitAt(U101(tt), U101(tt))) with rule U101(tt) -> fst(splitAt(N, XS)) at position [] and matcher [N / U101(tt), XS / U101(tt)] 2.57/1.28 2.57/1.28 Now an instance of the first term with Matcher [ ] occurs in the last term at position [0,0]. 2.57/1.28 2.57/1.28 Context: fst(splitAt([], U101(tt))) 2.57/1.28 2.57/1.28 We used [THIEMANN_LOOPS_UNDER_STRATEGIES] to show that this Loop is an Outermost-Loop. 2.57/1.28 ---------------------------------------- 2.57/1.28 2.57/1.28 (2) 2.57/1.28 NO 2.70/1.45 EOF