14.55/15.48 YES 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 (VAR v_NonEmpty:S M:S N:S V1:S V2:S X:S X1:S X2:S X3:S) 14.55/15.48 (RULES 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ) 14.55/15.48 (STRATEGY INNERMOST) 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 Dependency Pairs Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__U13(a__isNat(V2:S)) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__U22(a__isNat(V1:S)) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U31(tt,N:S) -> MARK(N:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> A__U13(mark(X:S)) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> A__U22(mark(X:S)) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> A__U31(mark(X1:S),X2:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 SCC Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__U13(a__isNat(V2:S)) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__U22(a__isNat(V1:S)) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U31(tt,N:S) -> MARK(N:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> A__U13(mark(X:S)) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> A__U22(mark(X:S)) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> A__U31(mark(X1:S),X2:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ->Strongly Connected Components: 14.55/15.48 ->->Cycle: 14.55/15.48 ->->-> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U31(tt,N:S) -> MARK(N:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> A__U31(mark(X1:S),X2:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 ->->-> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 Reduction Pairs Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U31(tt,N:S) -> MARK(N:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> A__U31(mark(X1:S),X2:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 -> Usable rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ->Interpretation type: 14.55/15.48 Linear 14.55/15.48 ->Coefficients: 14.55/15.48 Natural Numbers 14.55/15.48 ->Dimension: 14.55/15.48 1 14.55/15.48 ->Bound: 14.55/15.48 2 14.55/15.48 ->Interpretation: 14.55/15.48 14.55/15.48 [a__U11](X1,X2,X3) = X1 14.55/15.48 [a__U12](X1,X2) = 2.X1 14.55/15.48 [a__U13](X) = 2.X 14.55/15.48 [a__U21](X1,X2) = 2.X1 14.55/15.48 [a__U22](X) = 2.X 14.55/15.48 [a__U31](X1,X2) = 2.X1 + X2 + 2 14.55/15.48 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.48 [a__and](X1,X2) = 2.X1 + X2 14.55/15.48 [a__isNat](X) = 0 14.55/15.48 [a__isNatKind](X) = 0 14.55/15.48 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [mark](X) = X 14.55/15.48 [0] = 2 14.55/15.48 [U11](X1,X2,X3) = X1 14.55/15.48 [U12](X1,X2) = 2.X1 14.55/15.48 [U13](X) = 2.X 14.55/15.48 [U21](X1,X2) = 2.X1 14.55/15.48 [U22](X) = 2.X 14.55/15.48 [U31](X1,X2) = 2.X1 + X2 + 2 14.55/15.48 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.48 [and](X1,X2) = 2.X1 + X2 14.55/15.48 [fSNonEmpty] = 0 14.55/15.48 [isNat](X) = 0 14.55/15.48 [isNatKind](X) = 0 14.55/15.48 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [s](X) = X + 2 14.55/15.48 [tt] = 0 14.55/15.48 [A__U11](X1,X2,X3) = 2.X1 + 1 14.55/15.48 [A__U12](X1,X2) = 2.X1 + 1 14.55/15.48 [A__U13](X) = 0 14.55/15.48 [A__U21](X1,X2) = X1 + 1 14.55/15.48 [A__U22](X) = 0 14.55/15.48 [A__U31](X1,X2) = 2.X2 + 2 14.55/15.48 [A__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 14.55/15.48 [A__AND](X1,X2) = 2.X2 + 1 14.55/15.48 [A__ISNAT](X) = 1 14.55/15.48 [A__ISNATKIND](X) = 1 14.55/15.48 [A__PLUS](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [MARK](X) = 2.X + 1 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 SCC Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> A__U31(mark(X1:S),X2:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ->Strongly Connected Components: 14.55/15.48 ->->Cycle: 14.55/15.48 ->->-> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 ->->-> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 Reduction Pairs Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> A__PLUS(mark(N:S),mark(M:S)) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 -> Usable rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ->Interpretation type: 14.55/15.48 Linear 14.55/15.48 ->Coefficients: 14.55/15.48 Natural Numbers 14.55/15.48 ->Dimension: 14.55/15.48 1 14.55/15.48 ->Bound: 14.55/15.48 2 14.55/15.48 ->Interpretation: 14.55/15.48 14.55/15.48 [a__U11](X1,X2,X3) = 2.X1 14.55/15.48 [a__U12](X1,X2) = 2.X1 14.55/15.48 [a__U13](X) = 2.X 14.55/15.48 [a__U21](X1,X2) = 2.X1 14.55/15.48 [a__U22](X) = 2.X 14.55/15.48 [a__U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.48 [a__U41](X1,X2,X3) = 2.X1 + X2 + 2.X3 + 2 14.55/15.48 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [a__isNat](X) = 0 14.55/15.48 [a__isNatKind](X) = 0 14.55/15.48 [a__plus](X1,X2) = 2.X1 + X2 + 1 14.55/15.48 [mark](X) = X 14.55/15.48 [0] = 2 14.55/15.48 [U11](X1,X2,X3) = 2.X1 14.55/15.48 [U12](X1,X2) = 2.X1 14.55/15.48 [U13](X) = 2.X 14.55/15.48 [U21](X1,X2) = 2.X1 14.55/15.48 [U22](X) = 2.X 14.55/15.48 [U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.48 [U41](X1,X2,X3) = 2.X1 + X2 + 2.X3 + 2 14.55/15.48 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [fSNonEmpty] = 0 14.55/15.48 [isNat](X) = 0 14.55/15.48 [isNatKind](X) = 0 14.55/15.48 [plus](X1,X2) = 2.X1 + X2 + 1 14.55/15.48 [s](X) = X + 1 14.55/15.48 [tt] = 0 14.55/15.48 [A__U11](X1,X2,X3) = 2.X1 + 2 14.55/15.48 [A__U12](X1,X2) = 2.X1 + 2 14.55/15.48 [A__U13](X) = 0 14.55/15.48 [A__U21](X1,X2) = X1 + 2 14.55/15.48 [A__U22](X) = 0 14.55/15.48 [A__U31](X1,X2) = 0 14.55/15.48 [A__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.48 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.48 [A__ISNAT](X) = 2 14.55/15.48 [A__ISNATKIND](X) = 2 14.55/15.48 [A__PLUS](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.48 [MARK](X) = 2.X + 2 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 SCC Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ->Strongly Connected Components: 14.55/15.48 ->->Cycle: 14.55/15.48 ->->-> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 ->->-> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 Reduction Pairs Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(M:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 -> Usable rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.48 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.48 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.48 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.48 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.48 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.48 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.48 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.48 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.48 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.48 mark(tt) -> tt 14.55/15.48 ->Interpretation type: 14.55/15.48 Linear 14.55/15.48 ->Coefficients: 14.55/15.48 Natural Numbers 14.55/15.48 ->Dimension: 14.55/15.48 1 14.55/15.48 ->Bound: 14.55/15.48 2 14.55/15.48 ->Interpretation: 14.55/15.48 14.55/15.48 [a__U11](X1,X2,X3) = 2.X1 14.55/15.48 [a__U12](X1,X2) = X1 14.55/15.48 [a__U13](X) = X 14.55/15.48 [a__U21](X1,X2) = 2.X1 14.55/15.48 [a__U22](X) = 2.X 14.55/15.48 [a__U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.48 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.48 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [a__isNat](X) = 0 14.55/15.48 [a__isNatKind](X) = 0 14.55/15.48 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [mark](X) = X 14.55/15.48 [0] = 2 14.55/15.48 [U11](X1,X2,X3) = 2.X1 14.55/15.48 [U12](X1,X2) = X1 14.55/15.48 [U13](X) = X 14.55/15.48 [U21](X1,X2) = 2.X1 14.55/15.48 [U22](X) = 2.X 14.55/15.48 [U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.48 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.48 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [fSNonEmpty] = 0 14.55/15.48 [isNat](X) = 0 14.55/15.48 [isNatKind](X) = 0 14.55/15.48 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.48 [s](X) = X + 2 14.55/15.48 [tt] = 0 14.55/15.48 [A__U11](X1,X2,X3) = 1 14.55/15.48 [A__U12](X1,X2) = X1 + 1 14.55/15.48 [A__U13](X) = 0 14.55/15.48 [A__U21](X1,X2) = 1 14.55/15.48 [A__U22](X) = 0 14.55/15.48 [A__U31](X1,X2) = 0 14.55/15.48 [A__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.48 [A__AND](X1,X2) = 2.X2 + 1 14.55/15.48 [A__ISNAT](X) = 1 14.55/15.48 [A__ISNATKIND](X) = 1 14.55/15.48 [A__PLUS](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.48 [MARK](X) = 2.X + 1 14.55/15.48 14.55/15.48 Problem 1: 14.55/15.48 14.55/15.48 SCC Processor: 14.55/15.48 -> Pairs: 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.48 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.48 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.48 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.48 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.48 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.48 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.48 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.48 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.48 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.48 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.48 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.48 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.48 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.48 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.48 MARK(s(X:S)) -> MARK(X:S) 14.55/15.48 -> Rules: 14.55/15.48 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.48 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.48 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.48 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.48 a__U13(tt) -> tt 14.55/15.48 a__U13(X:S) -> U13(X:S) 14.55/15.48 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.48 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.48 a__U22(tt) -> tt 14.55/15.48 a__U22(X:S) -> U22(X:S) 14.55/15.48 a__U31(tt,N:S) -> mark(N:S) 14.55/15.48 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.48 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.48 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.48 a__and(tt,X:S) -> mark(X:S) 14.55/15.48 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.48 a__isNat(0) -> tt 14.55/15.48 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.48 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.48 a__isNat(X:S) -> isNat(X:S) 14.55/15.48 a__isNatKind(0) -> tt 14.55/15.48 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.48 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.48 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.48 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.48 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.48 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.48 mark(0) -> 0 14.55/15.48 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 Reduction Pairs Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U41(tt,M:S,N:S) -> MARK(N:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 -> Usable rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Interpretation type: 14.55/15.49 Linear 14.55/15.49 ->Coefficients: 14.55/15.49 Natural Numbers 14.55/15.49 ->Dimension: 14.55/15.49 1 14.55/15.49 ->Bound: 14.55/15.49 2 14.55/15.49 ->Interpretation: 14.55/15.49 14.55/15.49 [a__U11](X1,X2,X3) = 2.X1 14.55/15.49 [a__U12](X1,X2) = 2.X1 14.55/15.49 [a__U13](X) = 2.X 14.55/15.49 [a__U21](X1,X2) = 2.X1 14.55/15.49 [a__U22](X) = X 14.55/15.49 [a__U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.49 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [a__isNat](X) = 0 14.55/15.49 [a__isNatKind](X) = 0 14.55/15.49 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.49 [mark](X) = X 14.55/15.49 [0] = 2 14.55/15.49 [U11](X1,X2,X3) = 2.X1 14.55/15.49 [U12](X1,X2) = 2.X1 14.55/15.49 [U13](X) = 2.X 14.55/15.49 [U21](X1,X2) = 2.X1 14.55/15.49 [U22](X) = X 14.55/15.49 [U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.49 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [fSNonEmpty] = 0 14.55/15.49 [isNat](X) = 0 14.55/15.49 [isNatKind](X) = 0 14.55/15.49 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.49 [s](X) = X + 1 14.55/15.49 [tt] = 0 14.55/15.49 [A__U11](X1,X2,X3) = 2.X1 + 1 14.55/15.49 [A__U12](X1,X2) = 2.X1 + 1 14.55/15.49 [A__U13](X) = 0 14.55/15.49 [A__U21](X1,X2) = 2.X1 + 1 14.55/15.49 [A__U22](X) = 0 14.55/15.49 [A__U31](X1,X2) = 0 14.55/15.49 [A__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [A__AND](X1,X2) = 2.X2 + 1 14.55/15.49 [A__ISNAT](X) = 1 14.55/15.49 [A__ISNATKIND](X) = 1 14.55/15.49 [A__PLUS](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.49 [MARK](X) = 2.X + 1 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 SCC Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> A__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 Reduction Pairs Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__AND(a__isNat(N:S),isNatKind(N:S)) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 -> Usable rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Interpretation type: 14.55/15.49 Linear 14.55/15.49 ->Coefficients: 14.55/15.49 Natural Numbers 14.55/15.49 ->Dimension: 14.55/15.49 1 14.55/15.49 ->Bound: 14.55/15.49 2 14.55/15.49 ->Interpretation: 14.55/15.49 14.55/15.49 [a__U11](X1,X2,X3) = 2.X1 14.55/15.49 [a__U12](X1,X2) = 2.X1 14.55/15.49 [a__U13](X) = 2.X 14.55/15.49 [a__U21](X1,X2) = 2.X1 14.55/15.49 [a__U22](X) = X 14.55/15.49 [a__U31](X1,X2) = 2.X1 + X2 + 2 14.55/15.49 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + X3 + 2 14.55/15.49 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [a__isNat](X) = 0 14.55/15.49 [a__isNatKind](X) = 0 14.55/15.49 [a__plus](X1,X2) = X1 + 2.X2 14.55/15.49 [mark](X) = X 14.55/15.49 [0] = 2 14.55/15.49 [U11](X1,X2,X3) = 2.X1 14.55/15.49 [U12](X1,X2) = 2.X1 14.55/15.49 [U13](X) = 2.X 14.55/15.49 [U21](X1,X2) = 2.X1 14.55/15.49 [U22](X) = X 14.55/15.49 [U31](X1,X2) = 2.X1 + X2 + 2 14.55/15.49 [U41](X1,X2,X3) = 2.X1 + 2.X2 + X3 + 2 14.55/15.49 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [fSNonEmpty] = 0 14.55/15.49 [isNat](X) = 0 14.55/15.49 [isNatKind](X) = 0 14.55/15.49 [plus](X1,X2) = X1 + 2.X2 14.55/15.49 [s](X) = X + 2 14.55/15.49 [tt] = 0 14.55/15.49 [A__U11](X1,X2,X3) = X1 + 2 14.55/15.49 [A__U12](X1,X2) = 2.X1 + 2 14.55/15.49 [A__U13](X) = 0 14.55/15.49 [A__U21](X1,X2) = 2.X1 + 2 14.55/15.49 [A__U22](X) = 0 14.55/15.49 [A__U31](X1,X2) = 0 14.55/15.49 [A__U41](X1,X2,X3) = 0 14.55/15.49 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.49 [A__ISNAT](X) = 2 14.55/15.49 [A__ISNATKIND](X) = 2 14.55/15.49 [A__PLUS](X1,X2) = 2.X1 + X2 + 1 14.55/15.49 [MARK](X) = 2.X + 2 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 SCC Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 Reduction Pairs Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,0) -> A__ISNAT(N:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 -> Usable rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Interpretation type: 14.55/15.49 Linear 14.55/15.49 ->Coefficients: 14.55/15.49 Natural Numbers 14.55/15.49 ->Dimension: 14.55/15.49 1 14.55/15.49 ->Bound: 14.55/15.49 2 14.55/15.49 ->Interpretation: 14.55/15.49 14.55/15.49 [a__U11](X1,X2,X3) = 2.X1 14.55/15.49 [a__U12](X1,X2) = 2.X1 14.55/15.49 [a__U13](X) = 2.X 14.55/15.49 [a__U21](X1,X2) = 2.X1 14.55/15.49 [a__U22](X) = 2.X 14.55/15.49 [a__U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.49 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 14.55/15.49 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [a__isNat](X) = 0 14.55/15.49 [a__isNatKind](X) = 0 14.55/15.49 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [mark](X) = X 14.55/15.49 [0] = 2 14.55/15.49 [U11](X1,X2,X3) = 2.X1 14.55/15.49 [U12](X1,X2) = 2.X1 14.55/15.49 [U13](X) = 2.X 14.55/15.49 [U21](X1,X2) = 2.X1 14.55/15.49 [U22](X) = 2.X 14.55/15.49 [U31](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.49 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 14.55/15.49 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [fSNonEmpty] = 0 14.55/15.49 [isNat](X) = 0 14.55/15.49 [isNatKind](X) = 0 14.55/15.49 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [s](X) = X 14.55/15.49 [tt] = 0 14.55/15.49 [A__U11](X1,X2,X3) = 2 14.55/15.49 [A__U12](X1,X2) = 2 14.55/15.49 [A__U13](X) = 0 14.55/15.49 [A__U21](X1,X2) = 2 14.55/15.49 [A__U22](X) = 0 14.55/15.49 [A__U31](X1,X2) = 0 14.55/15.49 [A__U41](X1,X2,X3) = 0 14.55/15.49 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.49 [A__ISNAT](X) = 2 14.55/15.49 [A__ISNATKIND](X) = 2 14.55/15.49 [A__PLUS](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.49 [MARK](X) = 2.X + 2 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 SCC Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 Reduction Pairs Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 -> Usable rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Interpretation type: 14.55/15.49 Linear 14.55/15.49 ->Coefficients: 14.55/15.49 Natural Numbers 14.55/15.49 ->Dimension: 14.55/15.49 1 14.55/15.49 ->Bound: 14.55/15.49 2 14.55/15.49 ->Interpretation: 14.55/15.49 14.55/15.49 [a__U11](X1,X2,X3) = X1 14.55/15.49 [a__U12](X1,X2) = 2.X1 14.55/15.49 [a__U13](X) = 2.X 14.55/15.49 [a__U21](X1,X2) = X1 14.55/15.49 [a__U22](X) = X 14.55/15.49 [a__U31](X1,X2) = 2.X1 + X2 + 1 14.55/15.49 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [a__isNat](X) = 0 14.55/15.49 [a__isNatKind](X) = 0 14.55/15.49 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [mark](X) = X 14.55/15.49 [0] = 2 14.55/15.49 [U11](X1,X2,X3) = X1 14.55/15.49 [U12](X1,X2) = 2.X1 14.55/15.49 [U13](X) = 2.X 14.55/15.49 [U21](X1,X2) = X1 14.55/15.49 [U22](X) = X 14.55/15.49 [U31](X1,X2) = 2.X1 + X2 + 1 14.55/15.49 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [fSNonEmpty] = 0 14.55/15.49 [isNat](X) = 0 14.55/15.49 [isNatKind](X) = 0 14.55/15.49 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [s](X) = X + 2 14.55/15.49 [tt] = 0 14.55/15.49 [A__U11](X1,X2,X3) = X1 + 2 14.55/15.49 [A__U12](X1,X2) = 2.X1 + 2 14.55/15.49 [A__U13](X) = 0 14.55/15.49 [A__U21](X1,X2) = 2 14.55/15.49 [A__U22](X) = 0 14.55/15.49 [A__U31](X1,X2) = 0 14.55/15.49 [A__U41](X1,X2,X3) = 0 14.55/15.49 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.49 [A__ISNAT](X) = 2 14.55/15.49 [A__ISNATKIND](X) = 2 14.55/15.49 [A__PLUS](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.49 [MARK](X) = 2.X + 2 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 SCC Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 Reduction Pairs Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__AND(a__isNat(M:S),isNatKind(M:S)) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 -> Usable rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Interpretation type: 14.55/15.49 Linear 14.55/15.49 ->Coefficients: 14.55/15.49 Natural Numbers 14.55/15.49 ->Dimension: 14.55/15.49 1 14.55/15.49 ->Bound: 14.55/15.49 2 14.55/15.49 ->Interpretation: 14.55/15.49 14.55/15.49 [a__U11](X1,X2,X3) = X1 14.55/15.49 [a__U12](X1,X2) = 2.X1 14.55/15.49 [a__U13](X) = 2.X 14.55/15.49 [a__U21](X1,X2) = 2.X1 14.55/15.49 [a__U22](X) = 2.X 14.55/15.49 [a__U31](X1,X2) = X1 + 2.X2 + 2 14.55/15.49 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [a__isNat](X) = 0 14.55/15.49 [a__isNatKind](X) = 0 14.55/15.49 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [mark](X) = X 14.55/15.49 [0] = 2 14.55/15.49 [U11](X1,X2,X3) = X1 14.55/15.49 [U12](X1,X2) = 2.X1 14.55/15.49 [U13](X) = 2.X 14.55/15.49 [U21](X1,X2) = 2.X1 14.55/15.49 [U22](X) = 2.X 14.55/15.49 [U31](X1,X2) = X1 + 2.X2 + 2 14.55/15.49 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [fSNonEmpty] = 0 14.55/15.49 [isNat](X) = 0 14.55/15.49 [isNatKind](X) = 0 14.55/15.49 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [s](X) = X + 2 14.55/15.49 [tt] = 0 14.55/15.49 [A__U11](X1,X2,X3) = 2 14.55/15.49 [A__U12](X1,X2) = X1 + 2 14.55/15.49 [A__U13](X) = 0 14.55/15.49 [A__U21](X1,X2) = 2.X1 + 2 14.55/15.49 [A__U22](X) = 0 14.55/15.49 [A__U31](X1,X2) = 0 14.55/15.49 [A__U41](X1,X2,X3) = 0 14.55/15.49 [A__AND](X1,X2) = X1 + 2.X2 + 2 14.55/15.49 [A__ISNAT](X) = 2 14.55/15.49 [A__ISNATKIND](X) = 2 14.55/15.49 [A__PLUS](X1,X2) = 2.X1 + X2 + 2 14.55/15.49 [MARK](X) = 2.X + 2 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 SCC Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 Reduction Pairs Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__PLUS(N:S,s(M:S)) -> A__ISNAT(M:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 -> Usable rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Interpretation type: 14.55/15.49 Linear 14.55/15.49 ->Coefficients: 14.55/15.49 Natural Numbers 14.55/15.49 ->Dimension: 14.55/15.49 1 14.55/15.49 ->Bound: 14.55/15.49 2 14.55/15.49 ->Interpretation: 14.55/15.49 14.55/15.49 [a__U11](X1,X2,X3) = 2.X1 14.55/15.49 [a__U12](X1,X2) = 2.X1 14.55/15.49 [a__U13](X) = 2.X 14.55/15.49 [a__U21](X1,X2) = 2.X1 14.55/15.49 [a__U22](X) = 2.X 14.55/15.49 [a__U31](X1,X2) = 2.X1 + X2 + 1 14.55/15.49 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [a__isNat](X) = 0 14.55/15.49 [a__isNatKind](X) = 0 14.55/15.49 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.49 [mark](X) = X 14.55/15.49 [0] = 0 14.55/15.49 [U11](X1,X2,X3) = 2.X1 14.55/15.49 [U12](X1,X2) = 2.X1 14.55/15.49 [U13](X) = 2.X 14.55/15.49 [U21](X1,X2) = 2.X1 14.55/15.49 [U22](X) = 2.X 14.55/15.49 [U31](X1,X2) = 2.X1 + X2 + 1 14.55/15.49 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.49 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.49 [fSNonEmpty] = 0 14.55/15.49 [isNat](X) = 0 14.55/15.49 [isNatKind](X) = 0 14.55/15.49 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.49 [s](X) = X + 1 14.55/15.49 [tt] = 0 14.55/15.49 [A__U11](X1,X2,X3) = 2.X1 14.55/15.49 [A__U12](X1,X2) = 0 14.55/15.49 [A__U13](X) = 0 14.55/15.49 [A__U21](X1,X2) = 0 14.55/15.49 [A__U22](X) = 0 14.55/15.49 [A__U31](X1,X2) = 0 14.55/15.49 [A__U41](X1,X2,X3) = 0 14.55/15.49 [A__AND](X1,X2) = 2.X2 14.55/15.49 [A__ISNAT](X) = 0 14.55/15.49 [A__ISNATKIND](X) = 0 14.55/15.49 [A__PLUS](X1,X2) = 2.X2 + 1 14.55/15.49 [MARK](X) = 2.X 14.55/15.49 14.55/15.49 Problem 1: 14.55/15.49 14.55/15.49 SCC Processor: 14.55/15.49 -> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> A__PLUS(mark(X1:S),mark(X2:S)) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 -> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.49 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.49 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.49 mark(tt) -> tt 14.55/15.49 ->Strongly Connected Components: 14.55/15.49 ->->Cycle: 14.55/15.49 ->->-> Pairs: 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.49 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.49 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.49 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.49 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.49 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.49 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.49 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.49 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.49 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.49 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.49 MARK(s(X:S)) -> MARK(X:S) 14.55/15.49 ->->-> Rules: 14.55/15.49 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.49 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.49 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.49 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.49 a__U13(tt) -> tt 14.55/15.49 a__U13(X:S) -> U13(X:S) 14.55/15.49 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.49 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.49 a__U22(tt) -> tt 14.55/15.49 a__U22(X:S) -> U22(X:S) 14.55/15.49 a__U31(tt,N:S) -> mark(N:S) 14.55/15.49 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.49 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.49 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.49 a__and(tt,X:S) -> mark(X:S) 14.55/15.49 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.49 a__isNat(0) -> tt 14.55/15.49 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.49 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.49 a__isNat(X:S) -> isNat(X:S) 14.55/15.49 a__isNatKind(0) -> tt 14.55/15.49 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.49 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.49 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.49 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.49 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.49 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.49 mark(0) -> 0 14.55/15.49 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.49 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.49 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.49 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.49 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.49 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.49 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.49 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.49 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U31(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = 2.X1 14.55/15.50 [a__U12](X1,X2) = 2.X1 14.55/15.50 [a__U13](X) = 2.X 14.55/15.50 [a__U21](X1,X2) = 2.X1 14.55/15.50 [a__U22](X) = X 14.55/15.50 [a__U31](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + X2 14.55/15.50 [a__isNat](X) = 0 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 0 14.55/15.50 [U11](X1,X2,X3) = 2.X1 14.55/15.50 [U12](X1,X2) = 2.X1 14.55/15.50 [U13](X) = 2.X 14.55/15.50 [U21](X1,X2) = 2.X1 14.55/15.50 [U22](X) = X 14.55/15.50 [U31](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = 0 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [s](X) = X + 1 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = X1 + 2 14.55/15.50 [A__U12](X1,X2) = X1 + 2 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = X1 + 2 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = X1 + 2.X2 + 2 14.55/15.50 [A__ISNAT](X) = 2 14.55/15.50 [A__ISNATKIND](X) = 2 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 2 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U41(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = X1 14.55/15.50 [a__U12](X1,X2) = 2.X1 14.55/15.50 [a__U13](X) = 2.X 14.55/15.50 [a__U21](X1,X2) = 2.X1 14.55/15.50 [a__U22](X) = X 14.55/15.50 [a__U31](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [a__U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + X2 14.55/15.50 [a__isNat](X) = 0 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 0 14.55/15.50 [U11](X1,X2,X3) = X1 14.55/15.50 [U12](X1,X2) = 2.X1 14.55/15.50 [U13](X) = 2.X 14.55/15.50 [U21](X1,X2) = 2.X1 14.55/15.50 [U22](X) = X 14.55/15.50 [U31](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [U41](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = 0 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [s](X) = X + 2 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = 2.X1 + 2 14.55/15.50 [A__U12](X1,X2) = 2 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = 2.X1 + 2 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [A__ISNAT](X) = 2 14.55/15.50 [A__ISNATKIND](X) = 2 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 2 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__U12(a__isNat(V1:S),V2:S) 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 14.55/15.50 [a__U12](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [a__U13](X) = 2.X + 1 14.55/15.50 [a__U21](X1,X2) = X1 + X2 + 1 14.55/15.50 [a__U22](X) = X + 1 14.55/15.50 [a__U31](X1,X2) = 2.X2 + 1 14.55/15.50 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [a__isNat](X) = X 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 2 14.55/15.50 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 1 14.55/15.50 [U12](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [U13](X) = 2.X + 1 14.55/15.50 [U21](X1,X2) = X1 + X2 + 1 14.55/15.50 [U22](X) = X + 1 14.55/15.50 [U31](X1,X2) = 2.X2 + 1 14.55/15.50 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = X 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [s](X) = X + 1 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [A__U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.50 [A__ISNAT](X) = 2.X + 1 14.55/15.50 [A__ISNATKIND](X) = 2 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 2 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U11(tt,V1:S,V2:S) -> A__ISNAT(V1:S) 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [a__U12](X1,X2) = X1 + 2.X2 + 2 14.55/15.50 [a__U13](X) = X + 2 14.55/15.50 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [a__U22](X) = X + 2 14.55/15.50 [a__U31](X1,X2) = X2 14.55/15.50 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [a__isNat](X) = 2.X 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 2 14.55/15.50 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [U12](X1,X2) = X1 + 2.X2 + 2 14.55/15.50 [U13](X) = X + 2 14.55/15.50 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [U22](X) = X + 2 14.55/15.50 [U31](X1,X2) = X2 14.55/15.50 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = 2.X 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [s](X) = X + 1 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = 2.X2 + 2 14.55/15.50 [A__U12](X1,X2) = X1 + 2.X2 + 2 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = 2.X2 + 2 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.50 [A__ISNAT](X) = 2.X + 1 14.55/15.50 [A__ISNATKIND](X) = 2 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 2 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> A__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U12(tt,V2:S) -> A__ISNAT(V2:S) 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 14.55/15.50 [a__U12](X1,X2) = X1 + 2.X2 14.55/15.50 [a__U13](X) = X 14.55/15.50 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [a__U22](X) = X 14.55/15.50 [a__U31](X1,X2) = 2.X2 + 2 14.55/15.50 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [a__isNat](X) = 2.X 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 1 14.55/15.50 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 14.55/15.50 [U12](X1,X2) = X1 + 2.X2 14.55/15.50 [U13](X) = X 14.55/15.50 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [U22](X) = X 14.55/15.50 [U31](X1,X2) = 2.X2 + 2 14.55/15.50 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = 2.X 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [s](X) = X + 1 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = 0 14.55/15.50 [A__U12](X1,X2) = 2.X2 + 2 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.50 [A__ISNAT](X) = 2.X 14.55/15.50 [A__ISNATKIND](X) = 2 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 2 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> A__U12(mark(X1:S),X2:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__U21(tt,V1:S) -> A__ISNAT(V1:S) 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [a__U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.50 [a__U13](X) = X 14.55/15.50 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [a__U22](X) = X 14.55/15.50 [a__U31](X1,X2) = 2.X2 14.55/15.50 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [a__isNat](X) = 2.X + 1 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 2 14.55/15.50 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.50 [U13](X) = X 14.55/15.50 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [U22](X) = X 14.55/15.50 [U31](X1,X2) = 2.X2 14.55/15.50 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = 2.X + 1 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [s](X) = X + 1 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = 0 14.55/15.50 [A__U12](X1,X2) = 0 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = X1 + 2.X2 + 1 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = 2.X2 + 1 14.55/15.50 [A__ISNAT](X) = 2.X 14.55/15.50 [A__ISNATKIND](X) = 1 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 1 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 Reduction Pairs Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 -> Usable rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Interpretation type: 14.55/15.50 Linear 14.55/15.50 ->Coefficients: 14.55/15.50 Natural Numbers 14.55/15.50 ->Dimension: 14.55/15.50 1 14.55/15.50 ->Bound: 14.55/15.50 2 14.55/15.50 ->Interpretation: 14.55/15.50 14.55/15.50 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [a__U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.50 [a__U13](X) = X 14.55/15.50 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [a__U22](X) = X + 1 14.55/15.50 [a__U31](X1,X2) = 2.X2 + 2 14.55/15.50 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [a__isNat](X) = 2.X + 1 14.55/15.50 [a__isNatKind](X) = 0 14.55/15.50 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [mark](X) = X 14.55/15.50 [0] = 2 14.55/15.50 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.50 [U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.50 [U13](X) = X 14.55/15.50 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.50 [U22](X) = X + 1 14.55/15.50 [U31](X1,X2) = 2.X2 + 2 14.55/15.50 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.50 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.50 [fSNonEmpty] = 0 14.55/15.50 [isNat](X) = 2.X + 1 14.55/15.50 [isNatKind](X) = 0 14.55/15.50 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.50 [s](X) = X + 1 14.55/15.50 [tt] = 0 14.55/15.50 [A__U11](X1,X2,X3) = 0 14.55/15.50 [A__U12](X1,X2) = 0 14.55/15.50 [A__U13](X) = 0 14.55/15.50 [A__U21](X1,X2) = 0 14.55/15.50 [A__U22](X) = 0 14.55/15.50 [A__U31](X1,X2) = 0 14.55/15.50 [A__U41](X1,X2,X3) = 0 14.55/15.50 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.50 [A__ISNAT](X) = X + 2 14.55/15.50 [A__ISNATKIND](X) = 2 14.55/15.50 [A__PLUS](X1,X2) = 0 14.55/15.50 [MARK](X) = 2.X + 2 14.55/15.50 14.55/15.50 Problem 1: 14.55/15.50 14.55/15.50 SCC Processor: 14.55/15.50 -> Pairs: 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 -> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.50 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.50 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.50 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.50 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.50 mark(0) -> 0 14.55/15.50 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.50 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.50 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.50 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.50 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.50 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.50 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.50 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.50 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.50 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.50 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.50 mark(tt) -> tt 14.55/15.50 ->Strongly Connected Components: 14.55/15.50 ->->Cycle: 14.55/15.50 ->->-> Pairs: 14.55/15.50 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.50 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.50 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.50 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.50 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.50 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.50 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.50 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.50 MARK(s(X:S)) -> MARK(X:S) 14.55/15.50 ->->-> Rules: 14.55/15.50 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.50 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.50 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.50 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.50 a__U13(tt) -> tt 14.55/15.50 a__U13(X:S) -> U13(X:S) 14.55/15.50 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.50 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.50 a__U22(tt) -> tt 14.55/15.50 a__U22(X:S) -> U22(X:S) 14.55/15.50 a__U31(tt,N:S) -> mark(N:S) 14.55/15.50 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.50 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.50 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.50 a__and(tt,X:S) -> mark(X:S) 14.55/15.50 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.50 a__isNat(0) -> tt 14.55/15.50 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.50 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.50 a__isNat(X:S) -> isNat(X:S) 14.55/15.50 a__isNatKind(0) -> tt 14.55/15.50 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.50 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNAT(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [a__U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.51 [a__U13](X) = X 14.55/15.51 [a__U21](X1,X2) = 2.X1 + X2 + 2 14.55/15.51 [a__U22](X) = X + 1 14.55/15.51 [a__U31](X1,X2) = 2.X2 + 2 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = X1 + 2.X2 14.55/15.51 [a__isNat](X) = X + 1 14.55/15.51 [a__isNatKind](X) = 0 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 2 14.55/15.51 [U11](X1,X2,X3) = X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.51 [U13](X) = X 14.55/15.51 [U21](X1,X2) = 2.X1 + X2 + 2 14.55/15.51 [U22](X) = X + 1 14.55/15.51 [U31](X1,X2) = 2.X2 + 2 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = X1 + 2.X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = X + 1 14.55/15.51 [isNatKind](X) = 0 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [s](X) = X + 1 14.55/15.51 [tt] = 0 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = 2.X2 + 2 14.55/15.51 [A__ISNAT](X) = 2.X + 2 14.55/15.51 [A__ISNATKIND](X) = 2 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 2 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNAT(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [a__U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.51 [a__U13](X) = X 14.55/15.51 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [a__U22](X) = X + 1 14.55/15.51 [a__U31](X1,X2) = 2.X2 + 2 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [a__isNat](X) = 2.X + 1 14.55/15.51 [a__isNatKind](X) = 0 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 2 14.55/15.51 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.51 [U13](X) = X 14.55/15.51 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [U22](X) = X + 1 14.55/15.51 [U31](X1,X2) = 2.X2 + 2 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = 2.X + 1 14.55/15.51 [isNatKind](X) = 0 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [s](X) = X + 1 14.55/15.51 [tt] = 0 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [A__ISNAT](X) = 2.X + 2 14.55/15.51 [A__ISNATKIND](X) = 2 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 2 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNat(X:S)) -> A__ISNAT(X:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U11(X1:S,X2:S,X3:S)) -> MARK(X1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [a__U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.51 [a__U13](X) = X 14.55/15.51 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [a__U22](X) = X + 1 14.55/15.51 [a__U31](X1,X2) = 2.X2 + 1 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [a__isNat](X) = 2.X + 1 14.55/15.51 [a__isNatKind](X) = 0 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 2 14.55/15.51 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [U12](X1,X2) = X1 + 2.X2 + 1 14.55/15.51 [U13](X) = X 14.55/15.51 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [U22](X) = X + 1 14.55/15.51 [U31](X1,X2) = 2.X2 + 1 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = 2.X + 1 14.55/15.51 [isNatKind](X) = 0 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [s](X) = X + 1 14.55/15.51 [tt] = 0 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [A__ISNAT](X) = 0 14.55/15.51 [A__ISNATKIND](X) = 2 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 2 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U12(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [a__U12](X1,X2) = X1 + 2.X2 + 2 14.55/15.51 [a__U13](X) = X + 2 14.55/15.51 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [a__U22](X) = X + 1 14.55/15.51 [a__U31](X1,X2) = 2.X2 + 1 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [a__isNat](X) = 2.X 14.55/15.51 [a__isNatKind](X) = 0 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 0 14.55/15.51 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [U12](X1,X2) = X1 + 2.X2 + 2 14.55/15.51 [U13](X) = X + 2 14.55/15.51 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [U22](X) = X + 1 14.55/15.51 [U31](X1,X2) = 2.X2 + 1 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = 2.X 14.55/15.51 [isNatKind](X) = 0 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [s](X) = X + 1 14.55/15.51 [tt] = 0 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = X1 + 2.X2 + 2 14.55/15.51 [A__ISNAT](X) = 0 14.55/15.51 [A__ISNATKIND](X) = 2 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 2 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U13(X:S)) -> MARK(X:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = 2.X1 + X2 + 2.X3 + 2 14.55/15.51 [a__U12](X1,X2) = 2.X2 + 2 14.55/15.51 [a__U13](X) = X + 1 14.55/15.51 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [a__U22](X) = X + 1 14.55/15.51 [a__U31](X1,X2) = X2 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = 2.X1 + X2 14.55/15.51 [a__isNat](X) = 2.X + 1 14.55/15.51 [a__isNatKind](X) = 0 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 2 14.55/15.51 [U11](X1,X2,X3) = 2.X1 + X2 + 2.X3 + 2 14.55/15.51 [U12](X1,X2) = 2.X2 + 2 14.55/15.51 [U13](X) = X + 1 14.55/15.51 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [U22](X) = X + 1 14.55/15.51 [U31](X1,X2) = X2 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = 2.X1 + X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = 2.X + 1 14.55/15.51 [isNatKind](X) = 0 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 + 1 14.55/15.51 [s](X) = X + 1 14.55/15.51 [tt] = 0 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [A__ISNAT](X) = 0 14.55/15.51 [A__ISNATKIND](X) = 2 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 2 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [a__U12](X1,X2) = X2 + 2 14.55/15.51 [a__U13](X) = 2 14.55/15.51 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [a__U22](X) = X 14.55/15.51 [a__U31](X1,X2) = 2.X2 + 2 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = 2.X1 + X2 14.55/15.51 [a__isNat](X) = 2.X + 2 14.55/15.51 [a__isNatKind](X) = 0 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 1 14.55/15.51 [U11](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 + 2 14.55/15.51 [U12](X1,X2) = X2 + 2 14.55/15.51 [U13](X) = 2 14.55/15.51 [U21](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [U22](X) = X 14.55/15.51 [U31](X1,X2) = 2.X2 + 2 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = 2.X1 + X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = 2.X + 2 14.55/15.51 [isNatKind](X) = 0 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 14.55/15.51 [s](X) = X + 2 14.55/15.51 [tt] = 0 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = 2.X2 + 1 14.55/15.51 [A__ISNAT](X) = 0 14.55/15.51 [A__ISNATKIND](X) = 1 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 1 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 Reduction Pairs Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__AND(tt,X:S) -> MARK(X:S) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 -> Usable rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Interpretation type: 14.55/15.51 Linear 14.55/15.51 ->Coefficients: 14.55/15.51 Natural Numbers 14.55/15.51 ->Dimension: 14.55/15.51 1 14.55/15.51 ->Bound: 14.55/15.51 2 14.55/15.51 ->Interpretation: 14.55/15.51 14.55/15.51 [a__U11](X1,X2,X3) = 2 14.55/15.51 [a__U12](X1,X2) = 2 14.55/15.51 [a__U13](X) = X 14.55/15.51 [a__U21](X1,X2) = 2 14.55/15.51 [a__U22](X) = X 14.55/15.51 [a__U31](X1,X2) = 2.X2 + 2 14.55/15.51 [a__U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [a__and](X1,X2) = 2.X1 + X2 14.55/15.51 [a__isNat](X) = 2 14.55/15.51 [a__isNatKind](X) = 2.X + 2 14.55/15.51 [a__plus](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [mark](X) = X 14.55/15.51 [0] = 2 14.55/15.51 [U11](X1,X2,X3) = 2 14.55/15.51 [U12](X1,X2) = 2 14.55/15.51 [U13](X) = X 14.55/15.51 [U21](X1,X2) = 2 14.55/15.51 [U22](X) = X 14.55/15.51 [U31](X1,X2) = 2.X2 + 2 14.55/15.51 [U41](X1,X2,X3) = 2.X2 + 2.X3 + 2 14.55/15.51 [and](X1,X2) = 2.X1 + X2 14.55/15.51 [fSNonEmpty] = 0 14.55/15.51 [isNat](X) = 2 14.55/15.51 [isNatKind](X) = 2.X + 2 14.55/15.51 [plus](X1,X2) = 2.X1 + 2.X2 + 2 14.55/15.51 [s](X) = X 14.55/15.51 [tt] = 2 14.55/15.51 [A__U11](X1,X2,X3) = 0 14.55/15.51 [A__U12](X1,X2) = 0 14.55/15.51 [A__U13](X) = 0 14.55/15.51 [A__U21](X1,X2) = 0 14.55/15.51 [A__U22](X) = 0 14.55/15.51 [A__U31](X1,X2) = 0 14.55/15.51 [A__U41](X1,X2,X3) = 0 14.55/15.51 [A__AND](X1,X2) = X1 + 2.X2 14.55/15.51 [A__ISNAT](X) = 0 14.55/15.51 [A__ISNATKIND](X) = 2.X + 2 14.55/15.51 [A__PLUS](X1,X2) = 0 14.55/15.51 [MARK](X) = 2.X + 1 14.55/15.51 14.55/15.51 Problem 1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__AND(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> A__AND(mark(X1:S),X2:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(isNatKind(X:S)) -> A__ISNATKIND(X:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->->Cycle: 14.55/15.51 ->->-> Pairs: 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 ->->-> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 14.55/15.51 14.55/15.51 The problem is decomposed in 2 subproblems. 14.55/15.51 14.55/15.51 Problem 1.1: 14.55/15.51 14.55/15.51 Subterm Processor: 14.55/15.51 -> Pairs: 14.55/15.51 A__ISNATKIND(plus(V1:S,V2:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 A__ISNATKIND(s(V1:S)) -> A__ISNATKIND(V1:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Projection: 14.55/15.51 pi(A__ISNATKIND) = 1 14.55/15.51 14.55/15.51 Problem 1.1: 14.55/15.51 14.55/15.51 SCC Processor: 14.55/15.51 -> Pairs: 14.55/15.51 Empty 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.51 a__isNatKind(0) -> tt 14.55/15.51 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.51 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.51 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.51 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.51 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.51 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.51 mark(0) -> 0 14.55/15.51 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.51 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.51 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.51 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.51 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.51 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.51 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.51 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.51 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.51 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.51 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.51 mark(tt) -> tt 14.55/15.51 ->Strongly Connected Components: 14.55/15.51 There is no strongly connected component 14.55/15.51 14.55/15.51 The problem is finite. 14.55/15.51 14.55/15.51 Problem 1.2: 14.55/15.51 14.55/15.51 Subterm Processor: 14.55/15.51 -> Pairs: 14.55/15.51 MARK(U22(X:S)) -> MARK(X:S) 14.55/15.51 MARK(and(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X1:S) 14.55/15.51 MARK(plus(X1:S,X2:S)) -> MARK(X2:S) 14.55/15.51 MARK(s(X:S)) -> MARK(X:S) 14.55/15.51 -> Rules: 14.55/15.51 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.51 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.51 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.51 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.51 a__U13(tt) -> tt 14.55/15.51 a__U13(X:S) -> U13(X:S) 14.55/15.51 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.51 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.51 a__U22(tt) -> tt 14.55/15.51 a__U22(X:S) -> U22(X:S) 14.55/15.51 a__U31(tt,N:S) -> mark(N:S) 14.55/15.51 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.51 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.51 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.51 a__and(tt,X:S) -> mark(X:S) 14.55/15.51 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.51 a__isNat(0) -> tt 14.55/15.51 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.51 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.51 a__isNat(X:S) -> isNat(X:S) 14.55/15.52 a__isNatKind(0) -> tt 14.55/15.52 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.52 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.52 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.52 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.52 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.52 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.52 mark(0) -> 0 14.55/15.52 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.52 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.52 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.52 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.52 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.52 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.52 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.52 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.52 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.52 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.52 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.52 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.52 mark(tt) -> tt 14.55/15.52 ->Projection: 14.55/15.52 pi(MARK) = 1 14.55/15.52 14.55/15.52 Problem 1.2: 14.55/15.52 14.55/15.52 SCC Processor: 14.55/15.52 -> Pairs: 14.55/15.52 Empty 14.55/15.52 -> Rules: 14.55/15.52 a__U11(tt,V1:S,V2:S) -> a__U12(a__isNat(V1:S),V2:S) 14.55/15.52 a__U11(X1:S,X2:S,X3:S) -> U11(X1:S,X2:S,X3:S) 14.55/15.52 a__U12(tt,V2:S) -> a__U13(a__isNat(V2:S)) 14.55/15.52 a__U12(X1:S,X2:S) -> U12(X1:S,X2:S) 14.55/15.52 a__U13(tt) -> tt 14.55/15.52 a__U13(X:S) -> U13(X:S) 14.55/15.52 a__U21(tt,V1:S) -> a__U22(a__isNat(V1:S)) 14.55/15.52 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 14.55/15.52 a__U22(tt) -> tt 14.55/15.52 a__U22(X:S) -> U22(X:S) 14.55/15.52 a__U31(tt,N:S) -> mark(N:S) 14.55/15.52 a__U31(X1:S,X2:S) -> U31(X1:S,X2:S) 14.55/15.52 a__U41(tt,M:S,N:S) -> s(a__plus(mark(N:S),mark(M:S))) 14.55/15.52 a__U41(X1:S,X2:S,X3:S) -> U41(X1:S,X2:S,X3:S) 14.55/15.52 a__and(tt,X:S) -> mark(X:S) 14.55/15.52 a__and(X1:S,X2:S) -> and(X1:S,X2:S) 14.55/15.52 a__isNat(0) -> tt 14.55/15.52 a__isNat(plus(V1:S,V2:S)) -> a__U11(a__and(a__isNatKind(V1:S),isNatKind(V2:S)),V1:S,V2:S) 14.55/15.52 a__isNat(s(V1:S)) -> a__U21(a__isNatKind(V1:S),V1:S) 14.55/15.52 a__isNat(X:S) -> isNat(X:S) 14.55/15.52 a__isNatKind(0) -> tt 14.55/15.52 a__isNatKind(plus(V1:S,V2:S)) -> a__and(a__isNatKind(V1:S),isNatKind(V2:S)) 14.55/15.52 a__isNatKind(s(V1:S)) -> a__isNatKind(V1:S) 14.55/15.52 a__isNatKind(X:S) -> isNatKind(X:S) 14.55/15.52 a__plus(N:S,0) -> a__U31(a__and(a__isNat(N:S),isNatKind(N:S)),N:S) 14.55/15.52 a__plus(N:S,s(M:S)) -> a__U41(a__and(a__and(a__isNat(M:S),isNatKind(M:S)),and(isNat(N:S),isNatKind(N:S))),M:S,N:S) 14.55/15.52 a__plus(X1:S,X2:S) -> plus(X1:S,X2:S) 14.55/15.52 mark(0) -> 0 14.55/15.52 mark(U11(X1:S,X2:S,X3:S)) -> a__U11(mark(X1:S),X2:S,X3:S) 14.55/15.52 mark(U12(X1:S,X2:S)) -> a__U12(mark(X1:S),X2:S) 14.55/15.52 mark(U13(X:S)) -> a__U13(mark(X:S)) 14.55/15.52 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 14.55/15.52 mark(U22(X:S)) -> a__U22(mark(X:S)) 14.55/15.52 mark(U31(X1:S,X2:S)) -> a__U31(mark(X1:S),X2:S) 14.55/15.52 mark(U41(X1:S,X2:S,X3:S)) -> a__U41(mark(X1:S),X2:S,X3:S) 14.55/15.52 mark(and(X1:S,X2:S)) -> a__and(mark(X1:S),X2:S) 14.55/15.52 mark(isNat(X:S)) -> a__isNat(X:S) 14.55/15.52 mark(isNatKind(X:S)) -> a__isNatKind(X:S) 14.55/15.52 mark(plus(X1:S,X2:S)) -> a__plus(mark(X1:S),mark(X2:S)) 14.55/15.52 mark(s(X:S)) -> s(mark(X:S)) 14.55/15.52 mark(tt) -> tt 14.55/15.52 ->Strongly Connected Components: 14.55/15.52 There is no strongly connected component 14.55/15.52 14.55/15.52 The problem is finite. 14.55/15.52 EOF