YES We show the termination of the TRS R: a__zeros() -> cons(|0|(),zeros()) a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) a__U106(tt()) -> tt() a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) a__U114(tt(),L) -> s(a__length(mark(L))) a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) a__U122(tt()) -> nil() a__U13(tt()) -> tt() a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) a__U22(tt(),V1) -> a__U23(a__isNat(V1)) a__U23(tt()) -> tt() a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) a__U32(tt(),V) -> a__U33(a__isNatList(V)) a__U33(tt()) -> tt() a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) a__U46(tt()) -> tt() a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) a__U52(tt()) -> tt() a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) a__U62(tt()) -> tt() a__U71(tt()) -> tt() a__U81(tt()) -> tt() a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) a__U96(tt()) -> tt() a__isNat(|0|()) -> tt() a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) a__isNatIList(zeros()) -> tt() a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) a__isNatIListKind(nil()) -> tt() a__isNatIListKind(zeros()) -> tt() a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) a__isNatKind(|0|()) -> tt() a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) a__isNatList(nil()) -> tt() a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) a__length(nil()) -> |0|() a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) mark(zeros()) -> a__zeros() mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) mark(isNatKind(X)) -> a__isNatKind(X) mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) mark(isNatIListKind(X)) -> a__isNatIListKind(X) mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) mark(U105(X1,X2)) -> a__U105(mark(X1),X2) mark(isNat(X)) -> a__isNat(X) mark(U106(X)) -> a__U106(mark(X)) mark(isNatIList(X)) -> a__isNatIList(X) mark(U11(X1,X2)) -> a__U11(mark(X1),X2) mark(U12(X1,X2)) -> a__U12(mark(X1),X2) mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) mark(U114(X1,X2)) -> a__U114(mark(X1),X2) mark(length(X)) -> a__length(mark(X)) mark(U13(X)) -> a__U13(mark(X)) mark(isNatList(X)) -> a__isNatList(X) mark(U121(X1,X2)) -> a__U121(mark(X1),X2) mark(U122(X)) -> a__U122(mark(X)) mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) mark(U21(X1,X2)) -> a__U21(mark(X1),X2) mark(U22(X1,X2)) -> a__U22(mark(X1),X2) mark(U23(X)) -> a__U23(mark(X)) mark(U31(X1,X2)) -> a__U31(mark(X1),X2) mark(U32(X1,X2)) -> a__U32(mark(X1),X2) mark(U33(X)) -> a__U33(mark(X)) mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) mark(U45(X1,X2)) -> a__U45(mark(X1),X2) mark(U46(X)) -> a__U46(mark(X)) mark(U51(X1,X2)) -> a__U51(mark(X1),X2) mark(U52(X)) -> a__U52(mark(X)) mark(U61(X1,X2)) -> a__U61(mark(X1),X2) mark(U62(X)) -> a__U62(mark(X)) mark(U71(X)) -> a__U71(mark(X)) mark(U81(X)) -> a__U81(mark(X)) mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) mark(U95(X1,X2)) -> a__U95(mark(X1),X2) mark(U96(X)) -> a__U96(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(|0|()) -> |0|() mark(tt()) -> tt() mark(s(X)) -> s(mark(X)) mark(nil()) -> nil() a__zeros() -> zeros() a__U101(X1,X2,X3) -> U101(X1,X2,X3) a__U102(X1,X2,X3) -> U102(X1,X2,X3) a__isNatKind(X) -> isNatKind(X) a__U103(X1,X2,X3) -> U103(X1,X2,X3) a__isNatIListKind(X) -> isNatIListKind(X) a__U104(X1,X2,X3) -> U104(X1,X2,X3) a__U105(X1,X2) -> U105(X1,X2) a__isNat(X) -> isNat(X) a__U106(X) -> U106(X) a__isNatIList(X) -> isNatIList(X) a__U11(X1,X2) -> U11(X1,X2) a__U12(X1,X2) -> U12(X1,X2) a__U111(X1,X2,X3) -> U111(X1,X2,X3) a__U112(X1,X2,X3) -> U112(X1,X2,X3) a__U113(X1,X2,X3) -> U113(X1,X2,X3) a__U114(X1,X2) -> U114(X1,X2) a__length(X) -> length(X) a__U13(X) -> U13(X) a__isNatList(X) -> isNatList(X) a__U121(X1,X2) -> U121(X1,X2) a__U122(X) -> U122(X) a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) a__take(X1,X2) -> take(X1,X2) a__U21(X1,X2) -> U21(X1,X2) a__U22(X1,X2) -> U22(X1,X2) a__U23(X) -> U23(X) a__U31(X1,X2) -> U31(X1,X2) a__U32(X1,X2) -> U32(X1,X2) a__U33(X) -> U33(X) a__U41(X1,X2,X3) -> U41(X1,X2,X3) a__U42(X1,X2,X3) -> U42(X1,X2,X3) a__U43(X1,X2,X3) -> U43(X1,X2,X3) a__U44(X1,X2,X3) -> U44(X1,X2,X3) a__U45(X1,X2) -> U45(X1,X2) a__U46(X) -> U46(X) a__U51(X1,X2) -> U51(X1,X2) a__U52(X) -> U52(X) a__U61(X1,X2) -> U61(X1,X2) a__U62(X) -> U62(X) a__U71(X) -> U71(X) a__U81(X) -> U81(X) a__U91(X1,X2,X3) -> U91(X1,X2,X3) a__U92(X1,X2,X3) -> U92(X1,X2,X3) a__U93(X1,X2,X3) -> U93(X1,X2,X3) a__U94(X1,X2,X3) -> U94(X1,X2,X3) a__U95(X1,X2) -> U95(X1,X2) a__U96(X) -> U96(X) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U101#(tt(),V1,V2) -> a__U102#(a__isNatKind(V1),V1,V2) p2: a__U101#(tt(),V1,V2) -> a__isNatKind#(V1) p3: a__U102#(tt(),V1,V2) -> a__U103#(a__isNatIListKind(V2),V1,V2) p4: a__U102#(tt(),V1,V2) -> a__isNatIListKind#(V2) p5: a__U103#(tt(),V1,V2) -> a__U104#(a__isNatIListKind(V2),V1,V2) p6: a__U103#(tt(),V1,V2) -> a__isNatIListKind#(V2) p7: a__U104#(tt(),V1,V2) -> a__U105#(a__isNat(V1),V2) p8: a__U104#(tt(),V1,V2) -> a__isNat#(V1) p9: a__U105#(tt(),V2) -> a__U106#(a__isNatIList(V2)) p10: a__U105#(tt(),V2) -> a__isNatIList#(V2) p11: a__U11#(tt(),V1) -> a__U12#(a__isNatIListKind(V1),V1) p12: a__U11#(tt(),V1) -> a__isNatIListKind#(V1) p13: a__U111#(tt(),L,N) -> a__U112#(a__isNatIListKind(L),L,N) p14: a__U111#(tt(),L,N) -> a__isNatIListKind#(L) p15: a__U112#(tt(),L,N) -> a__U113#(a__isNat(N),L,N) p16: a__U112#(tt(),L,N) -> a__isNat#(N) p17: a__U113#(tt(),L,N) -> a__U114#(a__isNatKind(N),L) p18: a__U113#(tt(),L,N) -> a__isNatKind#(N) p19: a__U114#(tt(),L) -> a__length#(mark(L)) p20: a__U114#(tt(),L) -> mark#(L) p21: a__U12#(tt(),V1) -> a__U13#(a__isNatList(V1)) p22: a__U12#(tt(),V1) -> a__isNatList#(V1) p23: a__U121#(tt(),IL) -> a__U122#(a__isNatIListKind(IL)) p24: a__U121#(tt(),IL) -> a__isNatIListKind#(IL) p25: a__U131#(tt(),IL,M,N) -> a__U132#(a__isNatIListKind(IL),IL,M,N) p26: a__U131#(tt(),IL,M,N) -> a__isNatIListKind#(IL) p27: a__U132#(tt(),IL,M,N) -> a__U133#(a__isNat(M),IL,M,N) p28: a__U132#(tt(),IL,M,N) -> a__isNat#(M) p29: a__U133#(tt(),IL,M,N) -> a__U134#(a__isNatKind(M),IL,M,N) p30: a__U133#(tt(),IL,M,N) -> a__isNatKind#(M) p31: a__U134#(tt(),IL,M,N) -> a__U135#(a__isNat(N),IL,M,N) p32: a__U134#(tt(),IL,M,N) -> a__isNat#(N) p33: a__U135#(tt(),IL,M,N) -> a__U136#(a__isNatKind(N),IL,M,N) p34: a__U135#(tt(),IL,M,N) -> a__isNatKind#(N) p35: a__U136#(tt(),IL,M,N) -> mark#(N) p36: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) p37: a__U21#(tt(),V1) -> a__isNatKind#(V1) p38: a__U22#(tt(),V1) -> a__U23#(a__isNat(V1)) p39: a__U22#(tt(),V1) -> a__isNat#(V1) p40: a__U31#(tt(),V) -> a__U32#(a__isNatIListKind(V),V) p41: a__U31#(tt(),V) -> a__isNatIListKind#(V) p42: a__U32#(tt(),V) -> a__U33#(a__isNatList(V)) p43: a__U32#(tt(),V) -> a__isNatList#(V) p44: a__U41#(tt(),V1,V2) -> a__U42#(a__isNatKind(V1),V1,V2) p45: a__U41#(tt(),V1,V2) -> a__isNatKind#(V1) p46: a__U42#(tt(),V1,V2) -> a__U43#(a__isNatIListKind(V2),V1,V2) p47: a__U42#(tt(),V1,V2) -> a__isNatIListKind#(V2) p48: a__U43#(tt(),V1,V2) -> a__U44#(a__isNatIListKind(V2),V1,V2) p49: a__U43#(tt(),V1,V2) -> a__isNatIListKind#(V2) p50: a__U44#(tt(),V1,V2) -> a__U45#(a__isNat(V1),V2) p51: a__U44#(tt(),V1,V2) -> a__isNat#(V1) p52: a__U45#(tt(),V2) -> a__U46#(a__isNatIList(V2)) p53: a__U45#(tt(),V2) -> a__isNatIList#(V2) p54: a__U51#(tt(),V2) -> a__U52#(a__isNatIListKind(V2)) p55: a__U51#(tt(),V2) -> a__isNatIListKind#(V2) p56: a__U61#(tt(),V2) -> a__U62#(a__isNatIListKind(V2)) p57: a__U61#(tt(),V2) -> a__isNatIListKind#(V2) p58: a__U91#(tt(),V1,V2) -> a__U92#(a__isNatKind(V1),V1,V2) p59: a__U91#(tt(),V1,V2) -> a__isNatKind#(V1) p60: a__U92#(tt(),V1,V2) -> a__U93#(a__isNatIListKind(V2),V1,V2) p61: a__U92#(tt(),V1,V2) -> a__isNatIListKind#(V2) p62: a__U93#(tt(),V1,V2) -> a__U94#(a__isNatIListKind(V2),V1,V2) p63: a__U93#(tt(),V1,V2) -> a__isNatIListKind#(V2) p64: a__U94#(tt(),V1,V2) -> a__U95#(a__isNat(V1),V2) p65: a__U94#(tt(),V1,V2) -> a__isNat#(V1) p66: a__U95#(tt(),V2) -> a__U96#(a__isNatList(V2)) p67: a__U95#(tt(),V2) -> a__isNatList#(V2) p68: a__isNat#(length(V1)) -> a__U11#(a__isNatIListKind(V1),V1) p69: a__isNat#(length(V1)) -> a__isNatIListKind#(V1) p70: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p71: a__isNat#(s(V1)) -> a__isNatKind#(V1) p72: a__isNatIList#(V) -> a__U31#(a__isNatIListKind(V),V) p73: a__isNatIList#(V) -> a__isNatIListKind#(V) p74: a__isNatIList#(cons(V1,V2)) -> a__U41#(a__isNatKind(V1),V1,V2) p75: a__isNatIList#(cons(V1,V2)) -> a__isNatKind#(V1) p76: a__isNatIListKind#(cons(V1,V2)) -> a__U51#(a__isNatKind(V1),V2) p77: a__isNatIListKind#(cons(V1,V2)) -> a__isNatKind#(V1) p78: a__isNatIListKind#(take(V1,V2)) -> a__U61#(a__isNatKind(V1),V2) p79: a__isNatIListKind#(take(V1,V2)) -> a__isNatKind#(V1) p80: a__isNatKind#(length(V1)) -> a__U71#(a__isNatIListKind(V1)) p81: a__isNatKind#(length(V1)) -> a__isNatIListKind#(V1) p82: a__isNatKind#(s(V1)) -> a__U81#(a__isNatKind(V1)) p83: a__isNatKind#(s(V1)) -> a__isNatKind#(V1) p84: a__isNatList#(cons(V1,V2)) -> a__U91#(a__isNatKind(V1),V1,V2) p85: a__isNatList#(cons(V1,V2)) -> a__isNatKind#(V1) p86: a__isNatList#(take(V1,V2)) -> a__U101#(a__isNatKind(V1),V1,V2) p87: a__isNatList#(take(V1,V2)) -> a__isNatKind#(V1) p88: a__length#(cons(N,L)) -> a__U111#(a__isNatList(L),L,N) p89: a__length#(cons(N,L)) -> a__isNatList#(L) p90: a__take#(|0|(),IL) -> a__U121#(a__isNatIList(IL),IL) p91: a__take#(|0|(),IL) -> a__isNatIList#(IL) p92: a__take#(s(M),cons(N,IL)) -> a__U131#(a__isNatIList(IL),IL,M,N) p93: a__take#(s(M),cons(N,IL)) -> a__isNatIList#(IL) p94: mark#(zeros()) -> a__zeros#() p95: mark#(U101(X1,X2,X3)) -> a__U101#(mark(X1),X2,X3) p96: mark#(U101(X1,X2,X3)) -> mark#(X1) p97: mark#(U102(X1,X2,X3)) -> a__U102#(mark(X1),X2,X3) p98: mark#(U102(X1,X2,X3)) -> mark#(X1) p99: mark#(isNatKind(X)) -> a__isNatKind#(X) p100: mark#(U103(X1,X2,X3)) -> a__U103#(mark(X1),X2,X3) p101: mark#(U103(X1,X2,X3)) -> mark#(X1) p102: mark#(isNatIListKind(X)) -> a__isNatIListKind#(X) p103: mark#(U104(X1,X2,X3)) -> a__U104#(mark(X1),X2,X3) p104: mark#(U104(X1,X2,X3)) -> mark#(X1) p105: mark#(U105(X1,X2)) -> a__U105#(mark(X1),X2) p106: mark#(U105(X1,X2)) -> mark#(X1) p107: mark#(isNat(X)) -> a__isNat#(X) p108: mark#(U106(X)) -> a__U106#(mark(X)) p109: mark#(U106(X)) -> mark#(X) p110: mark#(isNatIList(X)) -> a__isNatIList#(X) p111: mark#(U11(X1,X2)) -> a__U11#(mark(X1),X2) p112: mark#(U11(X1,X2)) -> mark#(X1) p113: mark#(U12(X1,X2)) -> a__U12#(mark(X1),X2) p114: mark#(U12(X1,X2)) -> mark#(X1) p115: mark#(U111(X1,X2,X3)) -> a__U111#(mark(X1),X2,X3) p116: mark#(U111(X1,X2,X3)) -> mark#(X1) p117: mark#(U112(X1,X2,X3)) -> a__U112#(mark(X1),X2,X3) p118: mark#(U112(X1,X2,X3)) -> mark#(X1) p119: mark#(U113(X1,X2,X3)) -> a__U113#(mark(X1),X2,X3) p120: mark#(U113(X1,X2,X3)) -> mark#(X1) p121: mark#(U114(X1,X2)) -> a__U114#(mark(X1),X2) p122: mark#(U114(X1,X2)) -> mark#(X1) p123: mark#(length(X)) -> a__length#(mark(X)) p124: mark#(length(X)) -> mark#(X) p125: mark#(U13(X)) -> a__U13#(mark(X)) p126: mark#(U13(X)) -> mark#(X) p127: mark#(isNatList(X)) -> a__isNatList#(X) p128: mark#(U121(X1,X2)) -> a__U121#(mark(X1),X2) p129: mark#(U121(X1,X2)) -> mark#(X1) p130: mark#(U122(X)) -> a__U122#(mark(X)) p131: mark#(U122(X)) -> mark#(X) p132: mark#(U131(X1,X2,X3,X4)) -> a__U131#(mark(X1),X2,X3,X4) p133: mark#(U131(X1,X2,X3,X4)) -> mark#(X1) p134: mark#(U132(X1,X2,X3,X4)) -> a__U132#(mark(X1),X2,X3,X4) p135: mark#(U132(X1,X2,X3,X4)) -> mark#(X1) p136: mark#(U133(X1,X2,X3,X4)) -> a__U133#(mark(X1),X2,X3,X4) p137: mark#(U133(X1,X2,X3,X4)) -> mark#(X1) p138: mark#(U134(X1,X2,X3,X4)) -> a__U134#(mark(X1),X2,X3,X4) p139: mark#(U134(X1,X2,X3,X4)) -> mark#(X1) p140: mark#(U135(X1,X2,X3,X4)) -> a__U135#(mark(X1),X2,X3,X4) p141: mark#(U135(X1,X2,X3,X4)) -> mark#(X1) p142: mark#(U136(X1,X2,X3,X4)) -> a__U136#(mark(X1),X2,X3,X4) p143: mark#(U136(X1,X2,X3,X4)) -> mark#(X1) p144: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p145: mark#(take(X1,X2)) -> mark#(X1) p146: mark#(take(X1,X2)) -> mark#(X2) p147: mark#(U21(X1,X2)) -> a__U21#(mark(X1),X2) p148: mark#(U21(X1,X2)) -> mark#(X1) p149: mark#(U22(X1,X2)) -> a__U22#(mark(X1),X2) p150: mark#(U22(X1,X2)) -> mark#(X1) p151: mark#(U23(X)) -> a__U23#(mark(X)) p152: mark#(U23(X)) -> mark#(X) p153: mark#(U31(X1,X2)) -> a__U31#(mark(X1),X2) p154: mark#(U31(X1,X2)) -> mark#(X1) p155: mark#(U32(X1,X2)) -> a__U32#(mark(X1),X2) p156: mark#(U32(X1,X2)) -> mark#(X1) p157: mark#(U33(X)) -> a__U33#(mark(X)) p158: mark#(U33(X)) -> mark#(X) p159: mark#(U41(X1,X2,X3)) -> a__U41#(mark(X1),X2,X3) p160: mark#(U41(X1,X2,X3)) -> mark#(X1) p161: mark#(U42(X1,X2,X3)) -> a__U42#(mark(X1),X2,X3) p162: mark#(U42(X1,X2,X3)) -> mark#(X1) p163: mark#(U43(X1,X2,X3)) -> a__U43#(mark(X1),X2,X3) p164: mark#(U43(X1,X2,X3)) -> mark#(X1) p165: mark#(U44(X1,X2,X3)) -> a__U44#(mark(X1),X2,X3) p166: mark#(U44(X1,X2,X3)) -> mark#(X1) p167: mark#(U45(X1,X2)) -> a__U45#(mark(X1),X2) p168: mark#(U45(X1,X2)) -> mark#(X1) p169: mark#(U46(X)) -> a__U46#(mark(X)) p170: mark#(U46(X)) -> mark#(X) p171: mark#(U51(X1,X2)) -> a__U51#(mark(X1),X2) p172: mark#(U51(X1,X2)) -> mark#(X1) p173: mark#(U52(X)) -> a__U52#(mark(X)) p174: mark#(U52(X)) -> mark#(X) p175: mark#(U61(X1,X2)) -> a__U61#(mark(X1),X2) p176: mark#(U61(X1,X2)) -> mark#(X1) p177: mark#(U62(X)) -> a__U62#(mark(X)) p178: mark#(U62(X)) -> mark#(X) p179: mark#(U71(X)) -> a__U71#(mark(X)) p180: mark#(U71(X)) -> mark#(X) p181: mark#(U81(X)) -> a__U81#(mark(X)) p182: mark#(U81(X)) -> mark#(X) p183: mark#(U91(X1,X2,X3)) -> a__U91#(mark(X1),X2,X3) p184: mark#(U91(X1,X2,X3)) -> mark#(X1) p185: mark#(U92(X1,X2,X3)) -> a__U92#(mark(X1),X2,X3) p186: mark#(U92(X1,X2,X3)) -> mark#(X1) p187: mark#(U93(X1,X2,X3)) -> a__U93#(mark(X1),X2,X3) p188: mark#(U93(X1,X2,X3)) -> mark#(X1) p189: mark#(U94(X1,X2,X3)) -> a__U94#(mark(X1),X2,X3) p190: mark#(U94(X1,X2,X3)) -> mark#(X1) p191: mark#(U95(X1,X2)) -> a__U95#(mark(X1),X2) p192: mark#(U95(X1,X2)) -> mark#(X1) p193: mark#(U96(X)) -> a__U96#(mark(X)) p194: mark#(U96(X)) -> mark#(X) p195: mark#(cons(X1,X2)) -> mark#(X1) p196: mark#(s(X)) -> mark#(X) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: {p13, p15, p17, p19, p20, p25, p27, p29, p31, p33, p35, p88, p92, p96, p98, p101, p104, p106, p109, p112, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p126, p129, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143, p144, p145, p146, p148, p150, p152, p154, p156, p158, p160, p162, p164, p166, p168, p170, p172, p174, p176, p178, p180, p182, p184, p186, p188, p190, p192, p194, p195, p196} {p1, p3, p5, p7, p8, p10, p11, p22, p36, p39, p40, p43, p44, p46, p48, p50, p51, p53, p58, p60, p62, p64, p65, p67, p68, p70, p72, p74, p84, p86} {p55, p57, p76, p77, p78, p79, p81, p83} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U136#(tt(),IL,M,N) -> mark#(N) p2: mark#(s(X)) -> mark#(X) p3: mark#(cons(X1,X2)) -> mark#(X1) p4: mark#(U96(X)) -> mark#(X) p5: mark#(U95(X1,X2)) -> mark#(X1) p6: mark#(U94(X1,X2,X3)) -> mark#(X1) p7: mark#(U93(X1,X2,X3)) -> mark#(X1) p8: mark#(U92(X1,X2,X3)) -> mark#(X1) p9: mark#(U91(X1,X2,X3)) -> mark#(X1) p10: mark#(U81(X)) -> mark#(X) p11: mark#(U71(X)) -> mark#(X) p12: mark#(U62(X)) -> mark#(X) p13: mark#(U61(X1,X2)) -> mark#(X1) p14: mark#(U52(X)) -> mark#(X) p15: mark#(U51(X1,X2)) -> mark#(X1) p16: mark#(U46(X)) -> mark#(X) p17: mark#(U45(X1,X2)) -> mark#(X1) p18: mark#(U44(X1,X2,X3)) -> mark#(X1) p19: mark#(U43(X1,X2,X3)) -> mark#(X1) p20: mark#(U42(X1,X2,X3)) -> mark#(X1) p21: mark#(U41(X1,X2,X3)) -> mark#(X1) p22: mark#(U33(X)) -> mark#(X) p23: mark#(U32(X1,X2)) -> mark#(X1) p24: mark#(U31(X1,X2)) -> mark#(X1) p25: mark#(U23(X)) -> mark#(X) p26: mark#(U22(X1,X2)) -> mark#(X1) p27: mark#(U21(X1,X2)) -> mark#(X1) p28: mark#(take(X1,X2)) -> mark#(X2) p29: mark#(take(X1,X2)) -> mark#(X1) p30: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p31: a__take#(s(M),cons(N,IL)) -> a__U131#(a__isNatIList(IL),IL,M,N) p32: a__U131#(tt(),IL,M,N) -> a__U132#(a__isNatIListKind(IL),IL,M,N) p33: a__U132#(tt(),IL,M,N) -> a__U133#(a__isNat(M),IL,M,N) p34: a__U133#(tt(),IL,M,N) -> a__U134#(a__isNatKind(M),IL,M,N) p35: a__U134#(tt(),IL,M,N) -> a__U135#(a__isNat(N),IL,M,N) p36: a__U135#(tt(),IL,M,N) -> a__U136#(a__isNatKind(N),IL,M,N) p37: mark#(U136(X1,X2,X3,X4)) -> mark#(X1) p38: mark#(U136(X1,X2,X3,X4)) -> a__U136#(mark(X1),X2,X3,X4) p39: mark#(U135(X1,X2,X3,X4)) -> mark#(X1) p40: mark#(U135(X1,X2,X3,X4)) -> a__U135#(mark(X1),X2,X3,X4) p41: mark#(U134(X1,X2,X3,X4)) -> mark#(X1) p42: mark#(U134(X1,X2,X3,X4)) -> a__U134#(mark(X1),X2,X3,X4) p43: mark#(U133(X1,X2,X3,X4)) -> mark#(X1) p44: mark#(U133(X1,X2,X3,X4)) -> a__U133#(mark(X1),X2,X3,X4) p45: mark#(U132(X1,X2,X3,X4)) -> mark#(X1) p46: mark#(U132(X1,X2,X3,X4)) -> a__U132#(mark(X1),X2,X3,X4) p47: mark#(U131(X1,X2,X3,X4)) -> mark#(X1) p48: mark#(U131(X1,X2,X3,X4)) -> a__U131#(mark(X1),X2,X3,X4) p49: mark#(U122(X)) -> mark#(X) p50: mark#(U121(X1,X2)) -> mark#(X1) p51: mark#(U13(X)) -> mark#(X) p52: mark#(length(X)) -> mark#(X) p53: mark#(length(X)) -> a__length#(mark(X)) p54: a__length#(cons(N,L)) -> a__U111#(a__isNatList(L),L,N) p55: a__U111#(tt(),L,N) -> a__U112#(a__isNatIListKind(L),L,N) p56: a__U112#(tt(),L,N) -> a__U113#(a__isNat(N),L,N) p57: a__U113#(tt(),L,N) -> a__U114#(a__isNatKind(N),L) p58: a__U114#(tt(),L) -> mark#(L) p59: mark#(U114(X1,X2)) -> mark#(X1) p60: mark#(U114(X1,X2)) -> a__U114#(mark(X1),X2) p61: a__U114#(tt(),L) -> a__length#(mark(L)) p62: mark#(U113(X1,X2,X3)) -> mark#(X1) p63: mark#(U113(X1,X2,X3)) -> a__U113#(mark(X1),X2,X3) p64: mark#(U112(X1,X2,X3)) -> mark#(X1) p65: mark#(U112(X1,X2,X3)) -> a__U112#(mark(X1),X2,X3) p66: mark#(U111(X1,X2,X3)) -> mark#(X1) p67: mark#(U111(X1,X2,X3)) -> a__U111#(mark(X1),X2,X3) p68: mark#(U12(X1,X2)) -> mark#(X1) p69: mark#(U11(X1,X2)) -> mark#(X1) p70: mark#(U106(X)) -> mark#(X) p71: mark#(U105(X1,X2)) -> mark#(X1) p72: mark#(U104(X1,X2,X3)) -> mark#(X1) p73: mark#(U103(X1,X2,X3)) -> mark#(X1) p74: mark#(U102(X1,X2,X3)) -> mark#(X1) p75: mark#(U101(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155, r156, r157, r158, r159, r160, r161, r162, r163, r164, r165, r166, r167, r168, r169, r170, r171, r172, r173, r174, r175, r176, r177 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: a__U136#_A(x1,x2,x3,x4) = x1 + ((1,0),(1,0)) x4 tt_A() = (1,2) mark#_A(x1) = ((1,0),(1,0)) x1 s_A(x1) = x1 + (0,1) cons_A(x1,x2) = x1 + ((0,1),(1,0)) x2 U96_A(x1) = x1 + (0,2) U95_A(x1,x2) = x1 + (0,2) U94_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,1) U93_A(x1,x2,x3) = x1 + (0,2) U92_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,1) U91_A(x1,x2,x3) = x1 U81_A(x1) = x1 U71_A(x1) = x1 + (0,2) U62_A(x1) = x1 + (0,2) U61_A(x1,x2) = x1 + (0,2) U52_A(x1) = x1 + (0,2) U51_A(x1,x2) = x1 + x2 + (0,2) U46_A(x1) = x1 + (0,2) U45_A(x1,x2) = x1 + (0,2) U44_A(x1,x2,x3) = x1 + (0,2) U43_A(x1,x2,x3) = x1 + (0,2) U42_A(x1,x2,x3) = x1 + (0,2) U41_A(x1,x2,x3) = x1 + (0,2) U33_A(x1) = x1 + (0,1) U32_A(x1,x2) = ((1,0),(1,0)) x1 + (0,2) U31_A(x1,x2) = x1 + (0,3) U23_A(x1) = x1 + (0,2) U22_A(x1,x2) = x1 + (0,2) U21_A(x1,x2) = ((1,0),(1,0)) x1 + (0,1) take_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + (7,7) a__take#_A(x1,x2) = ((1,1),(1,1)) x2 + (7,2) mark_A(x1) = x1 a__U131#_A(x1,x2,x3,x4) = x1 + ((1,0),(1,0)) x4 + (5,2) a__isNatIList_A(x1) = ((0,0),(1,1)) x1 + (1,3) a__U132#_A(x1,x2,x3,x4) = x1 + ((1,0),(1,0)) x4 + (4,2) a__isNatIListKind_A(x1) = ((0,0),(1,0)) x1 + (1,2) a__U133#_A(x1,x2,x3,x4) = x1 + ((1,0),(1,0)) x4 + (3,2) a__isNat_A(x1) = ((0,0),(1,1)) x1 + (1,1) a__U134#_A(x1,x2,x3,x4) = ((1,1),(0,0)) x1 + ((1,0),(1,0)) x4 + (0,2) a__isNatKind_A(x1) = (1,2) a__U135#_A(x1,x2,x3,x4) = x1 + ((1,0),(1,0)) x4 + (1,2) U136_A(x1,x2,x3,x4) = ((1,1),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + x4 + (4,6) U135_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) U134_A(x1,x2,x3,x4) = ((1,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (4,7) U133_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) U132_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) U131_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) U122_A(x1) = x1 + (0,1) U121_A(x1,x2) = x1 + ((0,1),(0,1)) x2 + (0,1) U13_A(x1) = ((1,0),(1,0)) x1 + (0,1) length_A(x1) = ((1,1),(1,0)) x1 + (4,3) a__length#_A(x1) = ((1,1),(1,1)) x1 + (1,1) a__U111#_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 a__isNatList_A(x1) = (1,2) a__U112#_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 a__U113#_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 a__U114#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,1),(1,1)) x2 + (1,0) U114_A(x1,x2) = x1 + ((1,1),(0,0)) x2 + (3,1) U113_A(x1,x2,x3) = x1 + ((1,1),(0,0)) x2 + (3,3) U112_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(0,0)) x2 + (3,2) U111_A(x1,x2,x3) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (1,3) U12_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,2) U11_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,2) U106_A(x1) = x1 + (0,2) U105_A(x1,x2) = x1 + (0,2) U104_A(x1,x2,x3) = x1 + (0,2) U103_A(x1,x2,x3) = x1 + (0,2) U102_A(x1,x2,x3) = x1 + (0,2) U101_A(x1,x2,x3) = x1 + (0,2) a__zeros_A() = (1,1) |0|_A() = (0,1) zeros_A() = (1,1) a__U101_A(x1,x2,x3) = x1 + (0,2) a__U102_A(x1,x2,x3) = x1 + (0,2) a__U103_A(x1,x2,x3) = x1 + (0,2) a__U104_A(x1,x2,x3) = x1 + (0,2) a__U105_A(x1,x2) = x1 + (0,2) a__U106_A(x1) = x1 + (0,2) a__U11_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,2) a__U12_A(x1,x2) = x1 + ((0,0),(1,0)) x2 + (0,2) a__U111_A(x1,x2,x3) = ((1,1),(0,0)) x1 + ((1,1),(0,0)) x2 + (1,3) a__U112_A(x1,x2,x3) = ((1,0),(1,0)) x1 + ((1,1),(0,0)) x2 + (3,2) a__U113_A(x1,x2,x3) = x1 + ((1,1),(0,0)) x2 + (3,3) a__U114_A(x1,x2) = x1 + ((1,1),(0,0)) x2 + (3,1) a__length_A(x1) = ((1,1),(1,0)) x1 + (4,3) a__U13_A(x1) = ((1,0),(1,0)) x1 + (0,1) a__U121_A(x1,x2) = x1 + ((0,1),(0,1)) x2 + (0,1) a__U122_A(x1) = x1 + (0,1) nil_A() = (1,1) a__U131_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) a__U132_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) a__U133_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) a__U134_A(x1,x2,x3,x4) = ((1,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (4,7) a__U135_A(x1,x2,x3,x4) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + ((1,0),(1,0)) x4 + (6,6) a__U136_A(x1,x2,x3,x4) = ((1,1),(1,0)) x1 + ((1,1),(1,1)) x2 + ((1,0),(1,0)) x3 + x4 + (4,6) a__U21_A(x1,x2) = ((1,0),(1,0)) x1 + (0,1) a__U22_A(x1,x2) = x1 + (0,2) a__U23_A(x1) = x1 + (0,2) a__U31_A(x1,x2) = x1 + (0,3) a__U32_A(x1,x2) = ((1,0),(1,0)) x1 + (0,2) a__U33_A(x1) = x1 + (0,1) a__U41_A(x1,x2,x3) = x1 + (0,2) a__U42_A(x1,x2,x3) = x1 + (0,2) a__U43_A(x1,x2,x3) = x1 + (0,2) a__U44_A(x1,x2,x3) = x1 + (0,2) a__U45_A(x1,x2) = x1 + (0,2) a__U46_A(x1) = x1 + (0,2) a__U51_A(x1,x2) = x1 + x2 + (0,2) a__U52_A(x1) = x1 + (0,2) a__U61_A(x1,x2) = x1 + (0,2) a__U62_A(x1) = x1 + (0,2) a__U71_A(x1) = x1 + (0,2) a__U81_A(x1) = x1 a__U91_A(x1,x2,x3) = x1 a__U92_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,1) a__U93_A(x1,x2,x3) = x1 + (0,2) a__U94_A(x1,x2,x3) = ((1,0),(1,0)) x1 + (0,1) a__U95_A(x1,x2) = x1 + (0,2) a__U96_A(x1) = x1 + (0,2) a__take_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,1),(1,1)) x2 + (7,7) isNatKind_A(x1) = (1,2) isNatIListKind_A(x1) = ((0,0),(1,0)) x1 + (1,2) isNat_A(x1) = ((0,0),(1,1)) x1 + (1,1) isNatIList_A(x1) = ((0,0),(1,1)) x1 + (1,3) isNatList_A(x1) = (1,2) The next rules are strictly ordered: p1, p28, p29, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p52, p53, p58, p59, p60, p62, p63, p64, p65, p66, p67 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(cons(X1,X2)) -> mark#(X1) p3: mark#(U96(X)) -> mark#(X) p4: mark#(U95(X1,X2)) -> mark#(X1) p5: mark#(U94(X1,X2,X3)) -> mark#(X1) p6: mark#(U93(X1,X2,X3)) -> mark#(X1) p7: mark#(U92(X1,X2,X3)) -> mark#(X1) p8: mark#(U91(X1,X2,X3)) -> mark#(X1) p9: mark#(U81(X)) -> mark#(X) p10: mark#(U71(X)) -> mark#(X) p11: mark#(U62(X)) -> mark#(X) p12: mark#(U61(X1,X2)) -> mark#(X1) p13: mark#(U52(X)) -> mark#(X) p14: mark#(U51(X1,X2)) -> mark#(X1) p15: mark#(U46(X)) -> mark#(X) p16: mark#(U45(X1,X2)) -> mark#(X1) p17: mark#(U44(X1,X2,X3)) -> mark#(X1) p18: mark#(U43(X1,X2,X3)) -> mark#(X1) p19: mark#(U42(X1,X2,X3)) -> mark#(X1) p20: mark#(U41(X1,X2,X3)) -> mark#(X1) p21: mark#(U33(X)) -> mark#(X) p22: mark#(U32(X1,X2)) -> mark#(X1) p23: mark#(U31(X1,X2)) -> mark#(X1) p24: mark#(U23(X)) -> mark#(X) p25: mark#(U22(X1,X2)) -> mark#(X1) p26: mark#(U21(X1,X2)) -> mark#(X1) p27: mark#(take(X1,X2)) -> a__take#(mark(X1),mark(X2)) p28: mark#(U122(X)) -> mark#(X) p29: mark#(U121(X1,X2)) -> mark#(X1) p30: mark#(U13(X)) -> mark#(X) p31: a__length#(cons(N,L)) -> a__U111#(a__isNatList(L),L,N) p32: a__U111#(tt(),L,N) -> a__U112#(a__isNatIListKind(L),L,N) p33: a__U112#(tt(),L,N) -> a__U113#(a__isNat(N),L,N) p34: a__U113#(tt(),L,N) -> a__U114#(a__isNatKind(N),L) p35: a__U114#(tt(),L) -> a__length#(mark(L)) p36: mark#(U12(X1,X2)) -> mark#(X1) p37: mark#(U11(X1,X2)) -> mark#(X1) p38: mark#(U106(X)) -> mark#(X) p39: mark#(U105(X1,X2)) -> mark#(X1) p40: mark#(U104(X1,X2,X3)) -> mark#(X1) p41: mark#(U103(X1,X2,X3)) -> mark#(X1) p42: mark#(U102(X1,X2,X3)) -> mark#(X1) p43: mark#(U101(X1,X2,X3)) -> mark#(X1) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p28, p29, p30, p36, p37, p38, p39, p40, p41, p42, p43} {p31, p32, p33, p34, p35} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: mark#(s(X)) -> mark#(X) p2: mark#(U101(X1,X2,X3)) -> mark#(X1) p3: mark#(U102(X1,X2,X3)) -> mark#(X1) p4: mark#(U103(X1,X2,X3)) -> mark#(X1) p5: mark#(U104(X1,X2,X3)) -> mark#(X1) p6: mark#(U105(X1,X2)) -> mark#(X1) p7: mark#(U106(X)) -> mark#(X) p8: mark#(U11(X1,X2)) -> mark#(X1) p9: mark#(U12(X1,X2)) -> mark#(X1) p10: mark#(U13(X)) -> mark#(X) p11: mark#(U121(X1,X2)) -> mark#(X1) p12: mark#(U122(X)) -> mark#(X) p13: mark#(U21(X1,X2)) -> mark#(X1) p14: mark#(U22(X1,X2)) -> mark#(X1) p15: mark#(U23(X)) -> mark#(X) p16: mark#(U31(X1,X2)) -> mark#(X1) p17: mark#(U32(X1,X2)) -> mark#(X1) p18: mark#(U33(X)) -> mark#(X) p19: mark#(U41(X1,X2,X3)) -> mark#(X1) p20: mark#(U42(X1,X2,X3)) -> mark#(X1) p21: mark#(U43(X1,X2,X3)) -> mark#(X1) p22: mark#(U44(X1,X2,X3)) -> mark#(X1) p23: mark#(U45(X1,X2)) -> mark#(X1) p24: mark#(U46(X)) -> mark#(X) p25: mark#(U51(X1,X2)) -> mark#(X1) p26: mark#(U52(X)) -> mark#(X) p27: mark#(U61(X1,X2)) -> mark#(X1) p28: mark#(U62(X)) -> mark#(X) p29: mark#(U71(X)) -> mark#(X) p30: mark#(U81(X)) -> mark#(X) p31: mark#(U91(X1,X2,X3)) -> mark#(X1) p32: mark#(U92(X1,X2,X3)) -> mark#(X1) p33: mark#(U93(X1,X2,X3)) -> mark#(X1) p34: mark#(U94(X1,X2,X3)) -> mark#(X1) p35: mark#(U95(X1,X2)) -> mark#(X1) p36: mark#(U96(X)) -> mark#(X) p37: mark#(cons(X1,X2)) -> mark#(X1) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: mark#_A(x1) = ((1,1),(1,1)) x1 s_A(x1) = ((1,1),(1,1)) x1 + (1,1) U101_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U102_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U103_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U104_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U105_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U106_A(x1) = ((1,1),(1,1)) x1 + (1,1) U11_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U12_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U13_A(x1) = ((1,1),(1,1)) x1 + (1,1) U121_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U122_A(x1) = ((1,1),(1,1)) x1 + (1,1) U21_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U22_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U23_A(x1) = ((1,1),(1,1)) x1 + (1,1) U31_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U32_A(x1,x2) = ((1,1),(1,0)) x1 + ((1,1),(1,1)) x2 + (1,1) U33_A(x1) = ((1,1),(1,1)) x1 + (1,1) U41_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U42_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U43_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U44_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U45_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U46_A(x1) = ((1,1),(1,1)) x1 + (1,1) U51_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U52_A(x1) = ((1,1),(1,1)) x1 + (1,1) U61_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U62_A(x1) = ((1,1),(1,1)) x1 + (1,1) U71_A(x1) = ((1,1),(1,1)) x1 + (1,1) U81_A(x1) = ((1,1),(1,1)) x1 + (1,1) U91_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U92_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U93_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U94_A(x1,x2,x3) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,1) U95_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) U96_A(x1) = ((1,1),(1,1)) x1 + (1,1) cons_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) The next rules are strictly ordered: p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155, r156, r157, r158, r159, r160, r161, r162, r163, r164, r165, r166, r167, r168, r169, r170, r171, r172, r173, r174, r175, r176, r177 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__length#(cons(N,L)) -> a__U111#(a__isNatList(L),L,N) p2: a__U111#(tt(),L,N) -> a__U112#(a__isNatIListKind(L),L,N) p3: a__U112#(tt(),L,N) -> a__U113#(a__isNat(N),L,N) p4: a__U113#(tt(),L,N) -> a__U114#(a__isNatKind(N),L) p5: a__U114#(tt(),L) -> a__length#(mark(L)) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r63, r64, r65, r66, r67, r68, r69, r70, r71, r72, r73, r74, r75, r76, r77, r78, r79, r80, r81, r82, r83, r84, r85, r86, r87, r88, r89, r90, r91, r92, r93, r94, r95, r96, r97, r98, r99, r100, r101, r102, r103, r104, r105, r106, r107, r108, r109, r110, r111, r112, r113, r114, r115, r116, r117, r118, r119, r120, r121, r122, r123, r124, r125, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r138, r139, r140, r141, r142, r143, r144, r145, r146, r147, r148, r149, r150, r151, r152, r153, r154, r155, r156, r157, r158, r159, r160, r161, r162, r163, r164, r165, r166, r167, r168, r169, r170, r171, r172, r173, r174, r175, r176, r177 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: a__length#_A(x1) = ((1,0),(1,0)) x1 + (2,0) cons_A(x1,x2) = ((1,1),(1,0)) x2 + (0,4) a__U111#_A(x1,x2,x3) = x1 + ((1,0),(1,1)) x2 a__isNatList_A(x1) = ((0,1),(0,0)) x1 + (1,5) tt_A() = (5,0) a__U112#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + (4,0) a__isNatIListKind_A(x1) = ((1,1),(1,0)) x1 + (1,1) a__U113#_A(x1,x2,x3) = ((1,0),(1,1)) x2 + (3,0) a__isNat_A(x1) = ((0,1),(0,0)) x1 + (5,0) a__U114#_A(x1,x2) = ((1,0),(1,0)) x2 + (3,0) a__isNatKind_A(x1) = ((1,1),(0,0)) x1 + (1,1) mark_A(x1) = ((1,0),(1,1)) x1 + (0,4) a__zeros_A() = (4,8) |0|_A() = (3,1) zeros_A() = (4,0) a__U101_A(x1,x2,x3) = (5,5) a__U102_A(x1,x2,x3) = (5,5) a__U103_A(x1,x2,x3) = (5,5) a__U104_A(x1,x2,x3) = (5,5) a__U105_A(x1,x2) = (5,5) a__U106_A(x1) = ((0,0),(1,0)) x1 + (5,0) a__isNatIList_A(x1) = (5,9) a__U11_A(x1,x2) = ((1,1),(0,0)) x2 + (1,0) a__U12_A(x1,x2) = x1 a__U111_A(x1,x2,x3) = x1 + x2 + (0,1) a__U112_A(x1,x2,x3) = x2 + (5,1) a__U113_A(x1,x2,x3) = x2 + (5,1) a__U114_A(x1,x2) = x2 + (5,0) s_A(x1) = x1 + (4,0) a__length_A(x1) = ((1,0),(1,1)) x1 + (1,1) a__U13_A(x1) = (5,0) a__U121_A(x1,x2) = ((1,0),(1,0)) x1 a__U122_A(x1) = (2,4) nil_A() = (2,4) a__U131_A(x1,x2,x3,x4) = x1 + ((1,1),(1,0)) x2 + ((1,0),(1,0)) x3 + (1,6) a__U132_A(x1,x2,x3,x4) = ((1,1),(1,0)) x2 + ((1,0),(1,0)) x3 + (6,6) a__U133_A(x1,x2,x3,x4) = ((1,1),(1,0)) x2 + ((1,0),(1,0)) x3 + (6,6) a__U134_A(x1,x2,x3,x4) = ((1,1),(1,0)) x2 + ((1,0),(1,0)) x3 + (6,6) a__U135_A(x1,x2,x3,x4) = ((1,1),(1,0)) x2 + ((1,0),(1,0)) x3 + (6,6) a__U136_A(x1,x2,x3,x4) = ((1,1),(1,0)) x2 + ((1,0),(1,0)) x3 + (6,6) take_A(x1,x2) = x1 + x2 + (2,4) a__U21_A(x1,x2) = (5,0) a__U22_A(x1,x2) = (5,0) a__U23_A(x1) = (5,0) a__U31_A(x1,x2) = (5,9) a__U32_A(x1,x2) = (5,1) a__U33_A(x1) = (5,1) a__U41_A(x1,x2,x3) = (5,9) a__U42_A(x1,x2,x3) = (5,9) a__U43_A(x1,x2,x3) = (5,9) a__U44_A(x1,x2,x3) = (5,9) a__U45_A(x1,x2) = (5,9) a__U46_A(x1) = (5,9) a__U51_A(x1,x2) = ((1,1),(1,1)) x2 + (1,1) a__U52_A(x1) = x1 + (0,1) a__U61_A(x1,x2) = (5,1) a__U62_A(x1) = (5,0) a__U71_A(x1) = x1 a__U81_A(x1) = (5,0) a__U91_A(x1,x2,x3) = (5,1) a__U92_A(x1,x2,x3) = (5,1) a__U93_A(x1,x2,x3) = (5,1) a__U94_A(x1,x2,x3) = (5,1) a__U95_A(x1,x2) = (5,1) a__U96_A(x1) = (5,1) a__take_A(x1,x2) = ((1,0),(1,0)) x1 + x2 + (2,4) U101_A(x1,x2,x3) = (5,0) U102_A(x1,x2,x3) = (5,0) U103_A(x1,x2,x3) = (5,0) U104_A(x1,x2,x3) = (5,0) U105_A(x1,x2) = (5,0) U106_A(x1) = ((0,0),(1,0)) x1 + (5,0) isNatIList_A(x1) = (5,0) U11_A(x1,x2) = ((1,1),(0,0)) x2 + (1,0) U12_A(x1,x2) = x1 U111_A(x1,x2,x3) = x1 + x2 + (0,1) U112_A(x1,x2,x3) = x2 + (5,0) U113_A(x1,x2,x3) = x2 + (5,1) U114_A(x1,x2) = x2 + (5,0) length_A(x1) = ((1,0),(1,1)) x1 + (1,1) U13_A(x1) = (5,0) U121_A(x1,x2) = ((1,0),(1,0)) x1 U122_A(x1) = (2,1) U131_A(x1,x2,x3,x4) = x1 + ((1,1),(0,0)) x2 + x3 + (1,1) U132_A(x1,x2,x3,x4) = ((1,1),(0,0)) x2 + x3 + (6,0) U133_A(x1,x2,x3,x4) = ((1,1),(1,0)) x2 + x3 + (6,0) U134_A(x1,x2,x3,x4) = ((1,1),(0,0)) x2 + x3 + (6,0) U135_A(x1,x2,x3,x4) = ((1,1),(0,0)) x2 + x3 + (6,6) U136_A(x1,x2,x3,x4) = ((1,1),(0,0)) x2 + x3 + (6,0) U21_A(x1,x2) = (5,0) U22_A(x1,x2) = (5,0) U23_A(x1) = (5,0) U31_A(x1,x2) = (5,0) U32_A(x1,x2) = (5,1) U33_A(x1) = (5,1) U41_A(x1,x2,x3) = (5,0) U42_A(x1,x2,x3) = (5,1) U43_A(x1,x2,x3) = (5,1) U44_A(x1,x2,x3) = (5,0) U45_A(x1,x2) = (5,0) U46_A(x1) = (5,1) U51_A(x1,x2) = ((1,1),(1,0)) x2 + (1,1) U52_A(x1) = x1 + (0,1) U61_A(x1,x2) = (5,1) U62_A(x1) = (5,0) U71_A(x1) = x1 U81_A(x1) = (5,0) U91_A(x1,x2,x3) = (5,1) U92_A(x1,x2,x3) = (5,1) U93_A(x1,x2,x3) = (5,1) U94_A(x1,x2,x3) = (5,0) U95_A(x1,x2) = (5,0) U96_A(x1) = (5,1) isNatKind_A(x1) = ((1,1),(0,0)) x1 + (1,1) isNatIListKind_A(x1) = ((1,1),(0,0)) x1 + (1,1) isNat_A(x1) = ((0,1),(0,0)) x1 + (5,0) isNatList_A(x1) = ((0,1),(0,0)) x1 + (1,0) The next rules are strictly ordered: p1, p2, p3, p5 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U113#(tt(),L,N) -> a__U114#(a__isNatKind(N),L) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U101#(tt(),V1,V2) -> a__U102#(a__isNatKind(V1),V1,V2) p2: a__U102#(tt(),V1,V2) -> a__U103#(a__isNatIListKind(V2),V1,V2) p3: a__U103#(tt(),V1,V2) -> a__U104#(a__isNatIListKind(V2),V1,V2) p4: a__U104#(tt(),V1,V2) -> a__isNat#(V1) p5: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p6: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) p7: a__U22#(tt(),V1) -> a__isNat#(V1) p8: a__isNat#(length(V1)) -> a__U11#(a__isNatIListKind(V1),V1) p9: a__U11#(tt(),V1) -> a__U12#(a__isNatIListKind(V1),V1) p10: a__U12#(tt(),V1) -> a__isNatList#(V1) p11: a__isNatList#(take(V1,V2)) -> a__U101#(a__isNatKind(V1),V1,V2) p12: a__isNatList#(cons(V1,V2)) -> a__U91#(a__isNatKind(V1),V1,V2) p13: a__U91#(tt(),V1,V2) -> a__U92#(a__isNatKind(V1),V1,V2) p14: a__U92#(tt(),V1,V2) -> a__U93#(a__isNatIListKind(V2),V1,V2) p15: a__U93#(tt(),V1,V2) -> a__U94#(a__isNatIListKind(V2),V1,V2) p16: a__U94#(tt(),V1,V2) -> a__isNat#(V1) p17: a__U94#(tt(),V1,V2) -> a__U95#(a__isNat(V1),V2) p18: a__U95#(tt(),V2) -> a__isNatList#(V2) p19: a__U104#(tt(),V1,V2) -> a__U105#(a__isNat(V1),V2) p20: a__U105#(tt(),V2) -> a__isNatIList#(V2) p21: a__isNatIList#(cons(V1,V2)) -> a__U41#(a__isNatKind(V1),V1,V2) p22: a__U41#(tt(),V1,V2) -> a__U42#(a__isNatKind(V1),V1,V2) p23: a__U42#(tt(),V1,V2) -> a__U43#(a__isNatIListKind(V2),V1,V2) p24: a__U43#(tt(),V1,V2) -> a__U44#(a__isNatIListKind(V2),V1,V2) p25: a__U44#(tt(),V1,V2) -> a__isNat#(V1) p26: a__U44#(tt(),V1,V2) -> a__U45#(a__isNat(V1),V2) p27: a__U45#(tt(),V2) -> a__isNatIList#(V2) p28: a__isNatIList#(V) -> a__U31#(a__isNatIListKind(V),V) p29: a__U31#(tt(),V) -> a__U32#(a__isNatIListKind(V),V) p30: a__U32#(tt(),V) -> a__isNatList#(V) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of r2, r3, r4, r5, r6, r7, r8, r13, r16, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r49, r50, r51, r52, r53, r54, r55, r56, r57, r58, r59, r60, r61, r62, r126, r127, r128, r129, r130, r131, r132, r133, r134, r135, r136, r137, r143, r144, r154, r155, r156, r157, r158, r159, r160, r161, r162, r163, r164, r165, r166, r167, r168, r169, r170, r171, r172, r173, r174, r175, r176, r177 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: a__U101#_A(x1,x2,x3) = ((0,1),(0,0)) x1 + ((1,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (0,3) tt_A() = (3,1) a__U102#_A(x1,x2,x3) = x1 + ((0,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (0,1) a__isNatKind_A(x1) = x1 + (1,2) a__U103#_A(x1,x2,x3) = ((0,1),(0,1)) x1 + ((0,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (2,1) a__isNatIListKind_A(x1) = ((0,1),(0,0)) x1 + (1,1) a__U104#_A(x1,x2,x3) = x1 + ((0,1),(0,1)) x2 + ((1,1),(1,1)) x3 + (3,1) a__isNat#_A(x1) = ((0,1),(0,1)) x1 + (1,2) s_A(x1) = ((1,1),(1,1)) x1 + (2,1) a__U21#_A(x1,x2) = ((0,0),(1,1)) x1 + ((0,1),(0,1)) x2 + (2,0) a__U22#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,1)) x2 + (0,2) length_A(x1) = ((1,0),(1,1)) x1 + (2,1) a__U11#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(1,1)) x2 + (1,3) a__U12#_A(x1,x2) = ((0,1),(1,0)) x2 + (2,3) a__isNatList#_A(x1) = ((0,1),(1,0)) x1 + (2,3) take_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 cons_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) a__U91#_A(x1,x2,x3) = ((0,0),(1,1)) x1 + ((1,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (1,0) a__U92#_A(x1,x2,x3) = x1 + ((0,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (0,1) a__U93#_A(x1,x2,x3) = x1 + ((0,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (3,1) a__U94#_A(x1,x2,x3) = ((0,1),(0,1)) x1 + ((0,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (2,1) a__U95#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,1),(1,0)) x2 + (2,0) a__isNat_A(x1) = ((0,1),(1,0)) x1 + (1,1) a__U105#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,1),(1,1)) x2 + (3,0) a__isNatIList#_A(x1) = ((1,1),(1,0)) x1 + (3,3) a__U41#_A(x1,x2,x3) = ((1,1),(0,1)) x1 + ((0,1),(1,1)) x2 + ((1,1),(1,1)) x3 + (0,1) a__U42#_A(x1,x2,x3) = ((0,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (3,2) a__U43#_A(x1,x2,x3) = ((0,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (3,2) a__U44#_A(x1,x2,x3) = ((0,1),(0,1)) x2 + ((1,1),(1,0)) x3 + (3,2) a__U45#_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,1),(1,0)) x2 + (3,0) a__U31#_A(x1,x2) = ((0,1),(0,0)) x1 + ((1,1),(1,0)) x2 + (2,3) a__U32#_A(x1,x2) = ((1,1),(1,0)) x2 + (2,3) a__U46_A(x1) = ((0,0),(1,0)) x1 + (3,0) U46_A(x1) = (0,0) a__U45_A(x1,x2) = ((0,0),(1,1)) x2 + (3,3) a__isNatIList_A(x1) = ((0,1),(1,1)) x1 + (3,4) U45_A(x1,x2) = (0,0) a__U44_A(x1,x2,x3) = x1 + x2 + ((0,0),(1,1)) x3 + (0,2) U44_A(x1,x2,x3) = (0,0) a__U33_A(x1) = ((0,0),(1,1)) x1 + (3,0) a__U43_A(x1,x2,x3) = ((0,1),(0,1)) x1 + x2 + ((0,1),(1,1)) x3 + (0,2) U33_A(x1) = ((0,0),(1,0)) x1 U43_A(x1,x2,x3) = ((0,1),(0,0)) x1 + x3 a__U32_A(x1,x2) = ((0,0),(1,1)) x2 + (3,4) a__isNatList_A(x1) = ((0,0),(1,0)) x1 + (3,1) a__U42_A(x1,x2,x3) = ((1,0),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,3) U32_A(x1,x2) = ((0,0),(1,0)) x2 U42_A(x1,x2,x3) = x2 + x3 a__U31_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,0),(1,1)) x2 + (2,4) a__U41_A(x1,x2,x3) = x1 + ((1,0),(1,1)) x2 + ((1,1),(1,1)) x3 + (1,2) U31_A(x1,x2) = (0,0) U41_A(x1,x2,x3) = (0,0) a__U106_A(x1) = (3,1) a__U96_A(x1) = x1 + (3,0) zeros_A() = (1,2) U106_A(x1) = (0,0) isNatIList_A(x1) = (0,0) U96_A(x1) = (0,0) a__U105_A(x1,x2) = ((0,0),(1,0)) x2 + (3,1) a__U95_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x2 + (3,0) U105_A(x1,x2) = (0,0) U95_A(x1,x2) = (0,0) a__U104_A(x1,x2,x3) = ((0,0),(1,0)) x3 + (3,1) a__U94_A(x1,x2,x3) = ((0,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (3,1) U104_A(x1,x2,x3) = (0,0) U94_A(x1,x2,x3) = (0,0) a__U103_A(x1,x2,x3) = ((0,0),(1,0)) x1 + ((0,0),(1,0)) x3 + (3,0) a__U93_A(x1,x2,x3) = ((0,1),(1,0)) x1 + ((0,0),(1,1)) x2 + ((0,0),(1,0)) x3 + (2,0) U103_A(x1,x2,x3) = (0,0) U93_A(x1,x2,x3) = (0,0) a__U102_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,1)) x3 + (3,1) a__U92_A(x1,x2,x3) = ((0,0),(1,1)) x2 + ((0,0),(1,1)) x3 + (3,1) U102_A(x1,x2,x3) = (0,0) U92_A(x1,x2,x3) = (0,0) a__U101_A(x1,x2,x3) = ((0,0),(1,0)) x2 + ((0,0),(1,1)) x3 + (3,1) a__U91_A(x1,x2,x3) = ((0,0),(1,1)) x2 + ((0,0),(1,1)) x3 + (3,1) U101_A(x1,x2,x3) = (0,0) U91_A(x1,x2,x3) = (0,0) a__U13_A(x1) = ((0,1),(0,1)) x1 + (2,0) a__U23_A(x1) = ((1,1),(1,1)) x1 nil_A() = (1,2) U13_A(x1) = x1 isNatList_A(x1) = (0,0) U23_A(x1) = (0,0) a__U12_A(x1,x2) = ((1,0),(1,0)) x2 + (3,1) a__U22_A(x1,x2) = ((1,1),(1,1)) x2 + (2,2) a__U52_A(x1) = x1 + (0,1) a__U62_A(x1) = x1 + (0,1) U12_A(x1,x2) = (0,0) U22_A(x1,x2) = (0,0) U52_A(x1) = (0,0) U62_A(x1) = (0,0) a__U11_A(x1,x2) = x1 + ((1,0),(1,0)) x2 + (0,1) a__U21_A(x1,x2) = ((1,1),(1,1)) x2 + (2,2) a__U51_A(x1,x2) = ((1,1),(0,0)) x2 + (1,1) a__U61_A(x1,x2) = ((1,1),(0,0)) x2 + (1,1) a__U71_A(x1) = (3,1) a__U81_A(x1) = (3,1) U11_A(x1,x2) = (0,0) U21_A(x1,x2) = (0,0) U51_A(x1,x2) = (0,0) U61_A(x1,x2) = (0,0) U71_A(x1) = (0,0) U81_A(x1) = (0,0) |0|_A() = (2,2) isNatKind_A(x1) = (0,0) isNatIListKind_A(x1) = (0,0) isNat_A(x1) = (0,0) The next rules are strictly ordered: p4, p12, p16, p17, p21, p22, p25, p29 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U101#(tt(),V1,V2) -> a__U102#(a__isNatKind(V1),V1,V2) p2: a__U102#(tt(),V1,V2) -> a__U103#(a__isNatIListKind(V2),V1,V2) p3: a__U103#(tt(),V1,V2) -> a__U104#(a__isNatIListKind(V2),V1,V2) p4: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p5: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) p6: a__U22#(tt(),V1) -> a__isNat#(V1) p7: a__isNat#(length(V1)) -> a__U11#(a__isNatIListKind(V1),V1) p8: a__U11#(tt(),V1) -> a__U12#(a__isNatIListKind(V1),V1) p9: a__U12#(tt(),V1) -> a__isNatList#(V1) p10: a__isNatList#(take(V1,V2)) -> a__U101#(a__isNatKind(V1),V1,V2) p11: a__U91#(tt(),V1,V2) -> a__U92#(a__isNatKind(V1),V1,V2) p12: a__U92#(tt(),V1,V2) -> a__U93#(a__isNatIListKind(V2),V1,V2) p13: a__U93#(tt(),V1,V2) -> a__U94#(a__isNatIListKind(V2),V1,V2) p14: a__U95#(tt(),V2) -> a__isNatList#(V2) p15: a__U104#(tt(),V1,V2) -> a__U105#(a__isNat(V1),V2) p16: a__U105#(tt(),V2) -> a__isNatIList#(V2) p17: a__U42#(tt(),V1,V2) -> a__U43#(a__isNatIListKind(V2),V1,V2) p18: a__U43#(tt(),V1,V2) -> a__U44#(a__isNatIListKind(V2),V1,V2) p19: a__U44#(tt(),V1,V2) -> a__U45#(a__isNat(V1),V2) p20: a__U45#(tt(),V2) -> a__isNatIList#(V2) p21: a__isNatIList#(V) -> a__U31#(a__isNatIListKind(V),V) p22: a__U32#(tt(),V) -> a__isNatList#(V) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: {p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__U22#(tt(),V1) -> a__isNat#(V1) p2: a__isNat#(s(V1)) -> a__U21#(a__isNatKind(V1),V1) p3: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of r35, r36, r37, r38, r39, r40, r53, r54, r55, r56, r57, r58, r59, r128, r130, r166, r167, r168, r169, r170, r171 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: a__U22#_A(x1,x2) = x2 tt_A() = (1,1) a__isNat#_A(x1) = x1 s_A(x1) = ((1,1),(1,1)) x1 + (1,1) a__U21#_A(x1,x2) = x1 + x2 a__isNatKind_A(x1) = ((0,0),(1,0)) x1 + (1,1) a__U52_A(x1) = x1 + (1,0) a__U62_A(x1) = ((0,1),(0,0)) x1 + (0,1) U52_A(x1) = (0,0) U62_A(x1) = (0,0) a__U51_A(x1,x2) = ((1,1),(0,0)) x1 + ((1,1),(1,1)) x2 + (0,1) a__isNatIListKind_A(x1) = ((0,1),(0,1)) x1 + (1,1) a__U61_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(0,0)) x2 U51_A(x1,x2) = ((0,1),(0,0)) x2 U61_A(x1,x2) = (0,0) a__U71_A(x1) = x1 + (1,0) a__U81_A(x1) = x1 + (1,0) nil_A() = (1,1) zeros_A() = (1,1) cons_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) take_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) isNatIListKind_A(x1) = (0,0) U71_A(x1) = (0,0) U81_A(x1) = (0,0) |0|_A() = (1,1) length_A(x1) = ((1,1),(1,1)) x1 + (1,1) isNatKind_A(x1) = (0,0) The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__U22#(tt(),V1) -> a__isNat#(V1) p2: a__U21#(tt(),V1) -> a__U22#(a__isNatKind(V1),V1) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatIListKind#(take(V1,V2)) -> a__isNatKind#(V1) p2: a__isNatKind#(s(V1)) -> a__isNatKind#(V1) p3: a__isNatKind#(length(V1)) -> a__isNatIListKind#(V1) p4: a__isNatIListKind#(take(V1,V2)) -> a__U61#(a__isNatKind(V1),V2) p5: a__U61#(tt(),V2) -> a__isNatIListKind#(V2) p6: a__isNatIListKind#(cons(V1,V2)) -> a__isNatKind#(V1) p7: a__isNatIListKind#(cons(V1,V2)) -> a__U51#(a__isNatKind(V1),V2) p8: a__U51#(tt(),V2) -> a__isNatIListKind#(V2) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of r35, r36, r37, r38, r39, r40, r53, r54, r55, r56, r57, r58, r59, r128, r130, r166, r167, r168, r169, r170, r171 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: a__isNatIListKind#_A(x1) = x1 + (2,0) take_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) a__isNatKind#_A(x1) = ((1,1),(0,1)) x1 + (3,0) s_A(x1) = ((1,1),(1,1)) x1 + (1,1) length_A(x1) = ((1,1),(1,1)) x1 + (1,1) a__U61#_A(x1,x2) = ((1,1),(0,0)) x1 + x2 a__isNatKind_A(x1) = ((0,0),(1,1)) x1 + (1,2) tt_A() = (1,1) cons_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (2,1) a__U51#_A(x1,x2) = ((1,1),(0,1)) x2 + (2,0) a__U52_A(x1) = ((0,0),(1,0)) x1 + (1,0) a__U62_A(x1) = ((0,1),(0,1)) x1 U52_A(x1) = ((0,0),(1,0)) x1 U62_A(x1) = (0,0) a__U51_A(x1,x2) = ((1,0),(1,1)) x1 + ((1,0),(1,1)) x2 a__isNatIListKind_A(x1) = ((1,0),(1,0)) x1 + (1,1) a__U61_A(x1,x2) = ((0,1),(0,1)) x1 + ((1,0),(1,1)) x2 U51_A(x1,x2) = (0,0) U61_A(x1,x2) = (0,0) a__U71_A(x1) = ((0,0),(1,1)) x1 + (1,0) a__U81_A(x1) = ((0,0),(1,1)) x1 + (1,0) nil_A() = (1,1) zeros_A() = (1,1) isNatIListKind_A(x1) = (0,0) U71_A(x1) = (0,0) U81_A(x1) = (0,0) |0|_A() = (1,1) isNatKind_A(x1) = (0,0) The next rules are strictly ordered: p2, p3, p6, p7 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatIListKind#(take(V1,V2)) -> a__isNatKind#(V1) p2: a__isNatIListKind#(take(V1,V2)) -> a__U61#(a__isNatKind(V1),V2) p3: a__U61#(tt(),V2) -> a__isNatIListKind#(V2) p4: a__U51#(tt(),V2) -> a__isNatIListKind#(V2) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: {p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatIListKind#(take(V1,V2)) -> a__U61#(a__isNatKind(V1),V2) p2: a__U61#(tt(),V2) -> a__isNatIListKind#(V2) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The set of usable rules consists of r35, r36, r37, r38, r39, r40, r53, r54, r55, r56, r57, r58, r59, r128, r130, r166, r167, r168, r169, r170, r171 Take the reduction pair: matrix interpretations: carrier: N^2 order: standard order interpretations: a__isNatIListKind#_A(x1) = ((1,1),(1,1)) x1 + (0,2) take_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,1),(1,1)) x2 + (1,1) a__U61#_A(x1,x2) = ((0,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,0) a__isNatKind_A(x1) = ((1,1),(1,1)) x1 + (1,1) tt_A() = (1,1) a__U52_A(x1) = x1 + (0,1) a__U62_A(x1) = x1 + (0,1) U52_A(x1) = (0,0) U62_A(x1) = (0,0) a__U51_A(x1,x2) = ((1,1),(1,0)) x1 + ((1,1),(0,1)) x2 a__isNatIListKind_A(x1) = ((1,1),(1,0)) x1 + (1,1) a__U61_A(x1,x2) = ((1,1),(1,0)) x1 + ((1,1),(0,1)) x2 U51_A(x1,x2) = ((0,0),(1,0)) x1 + ((0,1),(0,0)) x2 U61_A(x1,x2) = x1 + ((0,1),(0,0)) x2 a__U71_A(x1) = ((1,1),(1,1)) x1 a__U81_A(x1) = ((1,1),(1,1)) x1 nil_A() = (1,1) zeros_A() = (1,1) cons_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (1,1) isNatIListKind_A(x1) = (0,0) U71_A(x1) = (0,0) U81_A(x1) = (0,0) |0|_A() = (1,1) length_A(x1) = ((1,1),(1,1)) x1 + (1,1) s_A(x1) = ((1,1),(1,1)) x1 + (1,1) isNatKind_A(x1) = (0,0) The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: a__isNatIListKind#(take(V1,V2)) -> a__U61#(a__isNatKind(V1),V2) and R consists of: r1: a__zeros() -> cons(|0|(),zeros()) r2: a__U101(tt(),V1,V2) -> a__U102(a__isNatKind(V1),V1,V2) r3: a__U102(tt(),V1,V2) -> a__U103(a__isNatIListKind(V2),V1,V2) r4: a__U103(tt(),V1,V2) -> a__U104(a__isNatIListKind(V2),V1,V2) r5: a__U104(tt(),V1,V2) -> a__U105(a__isNat(V1),V2) r6: a__U105(tt(),V2) -> a__U106(a__isNatIList(V2)) r7: a__U106(tt()) -> tt() r8: a__U11(tt(),V1) -> a__U12(a__isNatIListKind(V1),V1) r9: a__U111(tt(),L,N) -> a__U112(a__isNatIListKind(L),L,N) r10: a__U112(tt(),L,N) -> a__U113(a__isNat(N),L,N) r11: a__U113(tt(),L,N) -> a__U114(a__isNatKind(N),L) r12: a__U114(tt(),L) -> s(a__length(mark(L))) r13: a__U12(tt(),V1) -> a__U13(a__isNatList(V1)) r14: a__U121(tt(),IL) -> a__U122(a__isNatIListKind(IL)) r15: a__U122(tt()) -> nil() r16: a__U13(tt()) -> tt() r17: a__U131(tt(),IL,M,N) -> a__U132(a__isNatIListKind(IL),IL,M,N) r18: a__U132(tt(),IL,M,N) -> a__U133(a__isNat(M),IL,M,N) r19: a__U133(tt(),IL,M,N) -> a__U134(a__isNatKind(M),IL,M,N) r20: a__U134(tt(),IL,M,N) -> a__U135(a__isNat(N),IL,M,N) r21: a__U135(tt(),IL,M,N) -> a__U136(a__isNatKind(N),IL,M,N) r22: a__U136(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) r23: a__U21(tt(),V1) -> a__U22(a__isNatKind(V1),V1) r24: a__U22(tt(),V1) -> a__U23(a__isNat(V1)) r25: a__U23(tt()) -> tt() r26: a__U31(tt(),V) -> a__U32(a__isNatIListKind(V),V) r27: a__U32(tt(),V) -> a__U33(a__isNatList(V)) r28: a__U33(tt()) -> tt() r29: a__U41(tt(),V1,V2) -> a__U42(a__isNatKind(V1),V1,V2) r30: a__U42(tt(),V1,V2) -> a__U43(a__isNatIListKind(V2),V1,V2) r31: a__U43(tt(),V1,V2) -> a__U44(a__isNatIListKind(V2),V1,V2) r32: a__U44(tt(),V1,V2) -> a__U45(a__isNat(V1),V2) r33: a__U45(tt(),V2) -> a__U46(a__isNatIList(V2)) r34: a__U46(tt()) -> tt() r35: a__U51(tt(),V2) -> a__U52(a__isNatIListKind(V2)) r36: a__U52(tt()) -> tt() r37: a__U61(tt(),V2) -> a__U62(a__isNatIListKind(V2)) r38: a__U62(tt()) -> tt() r39: a__U71(tt()) -> tt() r40: a__U81(tt()) -> tt() r41: a__U91(tt(),V1,V2) -> a__U92(a__isNatKind(V1),V1,V2) r42: a__U92(tt(),V1,V2) -> a__U93(a__isNatIListKind(V2),V1,V2) r43: a__U93(tt(),V1,V2) -> a__U94(a__isNatIListKind(V2),V1,V2) r44: a__U94(tt(),V1,V2) -> a__U95(a__isNat(V1),V2) r45: a__U95(tt(),V2) -> a__U96(a__isNatList(V2)) r46: a__U96(tt()) -> tt() r47: a__isNat(|0|()) -> tt() r48: a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) r49: a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) r50: a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) r51: a__isNatIList(zeros()) -> tt() r52: a__isNatIList(cons(V1,V2)) -> a__U41(a__isNatKind(V1),V1,V2) r53: a__isNatIListKind(nil()) -> tt() r54: a__isNatIListKind(zeros()) -> tt() r55: a__isNatIListKind(cons(V1,V2)) -> a__U51(a__isNatKind(V1),V2) r56: a__isNatIListKind(take(V1,V2)) -> a__U61(a__isNatKind(V1),V2) r57: a__isNatKind(|0|()) -> tt() r58: a__isNatKind(length(V1)) -> a__U71(a__isNatIListKind(V1)) r59: a__isNatKind(s(V1)) -> a__U81(a__isNatKind(V1)) r60: a__isNatList(nil()) -> tt() r61: a__isNatList(cons(V1,V2)) -> a__U91(a__isNatKind(V1),V1,V2) r62: a__isNatList(take(V1,V2)) -> a__U101(a__isNatKind(V1),V1,V2) r63: a__length(nil()) -> |0|() r64: a__length(cons(N,L)) -> a__U111(a__isNatList(L),L,N) r65: a__take(|0|(),IL) -> a__U121(a__isNatIList(IL),IL) r66: a__take(s(M),cons(N,IL)) -> a__U131(a__isNatIList(IL),IL,M,N) r67: mark(zeros()) -> a__zeros() r68: mark(U101(X1,X2,X3)) -> a__U101(mark(X1),X2,X3) r69: mark(U102(X1,X2,X3)) -> a__U102(mark(X1),X2,X3) r70: mark(isNatKind(X)) -> a__isNatKind(X) r71: mark(U103(X1,X2,X3)) -> a__U103(mark(X1),X2,X3) r72: mark(isNatIListKind(X)) -> a__isNatIListKind(X) r73: mark(U104(X1,X2,X3)) -> a__U104(mark(X1),X2,X3) r74: mark(U105(X1,X2)) -> a__U105(mark(X1),X2) r75: mark(isNat(X)) -> a__isNat(X) r76: mark(U106(X)) -> a__U106(mark(X)) r77: mark(isNatIList(X)) -> a__isNatIList(X) r78: mark(U11(X1,X2)) -> a__U11(mark(X1),X2) r79: mark(U12(X1,X2)) -> a__U12(mark(X1),X2) r80: mark(U111(X1,X2,X3)) -> a__U111(mark(X1),X2,X3) r81: mark(U112(X1,X2,X3)) -> a__U112(mark(X1),X2,X3) r82: mark(U113(X1,X2,X3)) -> a__U113(mark(X1),X2,X3) r83: mark(U114(X1,X2)) -> a__U114(mark(X1),X2) r84: mark(length(X)) -> a__length(mark(X)) r85: mark(U13(X)) -> a__U13(mark(X)) r86: mark(isNatList(X)) -> a__isNatList(X) r87: mark(U121(X1,X2)) -> a__U121(mark(X1),X2) r88: mark(U122(X)) -> a__U122(mark(X)) r89: mark(U131(X1,X2,X3,X4)) -> a__U131(mark(X1),X2,X3,X4) r90: mark(U132(X1,X2,X3,X4)) -> a__U132(mark(X1),X2,X3,X4) r91: mark(U133(X1,X2,X3,X4)) -> a__U133(mark(X1),X2,X3,X4) r92: mark(U134(X1,X2,X3,X4)) -> a__U134(mark(X1),X2,X3,X4) r93: mark(U135(X1,X2,X3,X4)) -> a__U135(mark(X1),X2,X3,X4) r94: mark(U136(X1,X2,X3,X4)) -> a__U136(mark(X1),X2,X3,X4) r95: mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) r96: mark(U21(X1,X2)) -> a__U21(mark(X1),X2) r97: mark(U22(X1,X2)) -> a__U22(mark(X1),X2) r98: mark(U23(X)) -> a__U23(mark(X)) r99: mark(U31(X1,X2)) -> a__U31(mark(X1),X2) r100: mark(U32(X1,X2)) -> a__U32(mark(X1),X2) r101: mark(U33(X)) -> a__U33(mark(X)) r102: mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) r103: mark(U42(X1,X2,X3)) -> a__U42(mark(X1),X2,X3) r104: mark(U43(X1,X2,X3)) -> a__U43(mark(X1),X2,X3) r105: mark(U44(X1,X2,X3)) -> a__U44(mark(X1),X2,X3) r106: mark(U45(X1,X2)) -> a__U45(mark(X1),X2) r107: mark(U46(X)) -> a__U46(mark(X)) r108: mark(U51(X1,X2)) -> a__U51(mark(X1),X2) r109: mark(U52(X)) -> a__U52(mark(X)) r110: mark(U61(X1,X2)) -> a__U61(mark(X1),X2) r111: mark(U62(X)) -> a__U62(mark(X)) r112: mark(U71(X)) -> a__U71(mark(X)) r113: mark(U81(X)) -> a__U81(mark(X)) r114: mark(U91(X1,X2,X3)) -> a__U91(mark(X1),X2,X3) r115: mark(U92(X1,X2,X3)) -> a__U92(mark(X1),X2,X3) r116: mark(U93(X1,X2,X3)) -> a__U93(mark(X1),X2,X3) r117: mark(U94(X1,X2,X3)) -> a__U94(mark(X1),X2,X3) r118: mark(U95(X1,X2)) -> a__U95(mark(X1),X2) r119: mark(U96(X)) -> a__U96(mark(X)) r120: mark(cons(X1,X2)) -> cons(mark(X1),X2) r121: mark(|0|()) -> |0|() r122: mark(tt()) -> tt() r123: mark(s(X)) -> s(mark(X)) r124: mark(nil()) -> nil() r125: a__zeros() -> zeros() r126: a__U101(X1,X2,X3) -> U101(X1,X2,X3) r127: a__U102(X1,X2,X3) -> U102(X1,X2,X3) r128: a__isNatKind(X) -> isNatKind(X) r129: a__U103(X1,X2,X3) -> U103(X1,X2,X3) r130: a__isNatIListKind(X) -> isNatIListKind(X) r131: a__U104(X1,X2,X3) -> U104(X1,X2,X3) r132: a__U105(X1,X2) -> U105(X1,X2) r133: a__isNat(X) -> isNat(X) r134: a__U106(X) -> U106(X) r135: a__isNatIList(X) -> isNatIList(X) r136: a__U11(X1,X2) -> U11(X1,X2) r137: a__U12(X1,X2) -> U12(X1,X2) r138: a__U111(X1,X2,X3) -> U111(X1,X2,X3) r139: a__U112(X1,X2,X3) -> U112(X1,X2,X3) r140: a__U113(X1,X2,X3) -> U113(X1,X2,X3) r141: a__U114(X1,X2) -> U114(X1,X2) r142: a__length(X) -> length(X) r143: a__U13(X) -> U13(X) r144: a__isNatList(X) -> isNatList(X) r145: a__U121(X1,X2) -> U121(X1,X2) r146: a__U122(X) -> U122(X) r147: a__U131(X1,X2,X3,X4) -> U131(X1,X2,X3,X4) r148: a__U132(X1,X2,X3,X4) -> U132(X1,X2,X3,X4) r149: a__U133(X1,X2,X3,X4) -> U133(X1,X2,X3,X4) r150: a__U134(X1,X2,X3,X4) -> U134(X1,X2,X3,X4) r151: a__U135(X1,X2,X3,X4) -> U135(X1,X2,X3,X4) r152: a__U136(X1,X2,X3,X4) -> U136(X1,X2,X3,X4) r153: a__take(X1,X2) -> take(X1,X2) r154: a__U21(X1,X2) -> U21(X1,X2) r155: a__U22(X1,X2) -> U22(X1,X2) r156: a__U23(X) -> U23(X) r157: a__U31(X1,X2) -> U31(X1,X2) r158: a__U32(X1,X2) -> U32(X1,X2) r159: a__U33(X) -> U33(X) r160: a__U41(X1,X2,X3) -> U41(X1,X2,X3) r161: a__U42(X1,X2,X3) -> U42(X1,X2,X3) r162: a__U43(X1,X2,X3) -> U43(X1,X2,X3) r163: a__U44(X1,X2,X3) -> U44(X1,X2,X3) r164: a__U45(X1,X2) -> U45(X1,X2) r165: a__U46(X) -> U46(X) r166: a__U51(X1,X2) -> U51(X1,X2) r167: a__U52(X) -> U52(X) r168: a__U61(X1,X2) -> U61(X1,X2) r169: a__U62(X) -> U62(X) r170: a__U71(X) -> U71(X) r171: a__U81(X) -> U81(X) r172: a__U91(X1,X2,X3) -> U91(X1,X2,X3) r173: a__U92(X1,X2,X3) -> U92(X1,X2,X3) r174: a__U93(X1,X2,X3) -> U93(X1,X2,X3) r175: a__U94(X1,X2,X3) -> U94(X1,X2,X3) r176: a__U95(X1,X2) -> U95(X1,X2) r177: a__U96(X) -> U96(X) The estimated dependency graph contains the following SCCs: (no SCCs)