KILLED proof of input_ePMnbs9x9J.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (4) CpxTRS (5) CpxTrsToCdtProof [UPPER BOUND(ID), 60 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxRelTRS (11) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (12) typed CpxTrs (13) OrderProof [LOWER BOUND(ID), 30 ms] (14) typed CpxTrs (15) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (16) TRS for Loop Detection (17) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (18) CpxWeightedTrs (19) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxTypedWeightedTrs (21) CompletionProof [UPPER BOUND(ID), 0 ms] (22) CpxTypedWeightedCompleteTrs (23) NarrowingProof [BOTH BOUNDS(ID, ID), 10 ms] (24) CpxTypedWeightedCompleteTrs (25) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 53 ms] (26) CpxRNTS (27) InliningProof [UPPER BOUND(ID), 2287 ms] (28) CpxRNTS (29) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxRNTS (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 13 ms] (34) CpxRNTS (35) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (36) CdtProblem (37) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CpxRelTRS (43) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (44) CpxTRS (45) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CpxWeightedTrs (47) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CpxTypedWeightedTrs (49) CompletionProof [UPPER BOUND(ID), 0 ms] (50) CpxTypedWeightedCompleteTrs (51) NarrowingProof [BOTH BOUNDS(ID, ID), 85 ms] (52) CpxTypedWeightedCompleteTrs (53) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 19 ms] (54) CpxRNTS (55) InliningProof [UPPER BOUND(ID), 4802 ms] (56) CpxRNTS (57) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CpxRNTS (59) CompletionProof [UPPER BOUND(ID), 0 ms] (60) CpxTypedWeightedCompleteTrs (61) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (62) CpxRNTS (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 3 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 11 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 17 ms] (136) CdtProblem (137) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 25 ms] (140) CdtProblem (141) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (148) CdtProblem (149) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 27 ms] (156) CdtProblem (157) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (160) CdtProblem (161) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CdtProblem (163) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (164) CdtProblem (165) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (166) CdtProblem (167) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 27 ms] (168) CdtProblem (169) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (170) CdtProblem (171) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (172) CdtProblem (173) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 3 ms] (174) CdtProblem (175) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (176) CdtProblem (177) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (178) CdtProblem (179) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (180) CdtProblem (181) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (182) CdtProblem (183) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (184) CdtProblem (185) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (186) CdtProblem (187) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 11 ms] (188) CdtProblem (189) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (190) CdtProblem (191) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 7 ms] (192) CdtProblem (193) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 5 ms] (194) CdtProblem (195) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (196) CdtProblem (197) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (198) CdtProblem (199) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 13 ms] (200) CdtProblem (201) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (202) CdtProblem (203) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 ms] (204) CdtProblem (205) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (206) CdtProblem (207) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (208) CdtProblem (209) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (210) CdtProblem (211) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 25 ms] (212) CdtProblem (213) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (214) CdtProblem (215) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 26 ms] (216) CdtProblem (217) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (218) CdtProblem (219) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (220) CdtProblem (221) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 18 ms] (222) CdtProblem (223) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (224) CdtProblem (225) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 43 ms] (226) CdtProblem (227) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (228) CdtProblem (229) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (230) CdtProblem (231) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 17 ms] (232) CdtProblem (233) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (234) CdtProblem (235) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 17 ms] (236) CdtProblem (237) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (238) CdtProblem (239) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 19 ms] (240) CdtProblem (241) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (242) CdtProblem (243) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 34 ms] (244) CdtProblem (245) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (246) CdtProblem (247) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (248) CdtProblem (249) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (250) CdtProblem (251) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 10 ms] (252) CdtProblem ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__zeros -> cons(0, zeros) a__U11(tt) -> tt a__U21(tt) -> tt a__U31(tt) -> tt a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) a__U42(tt) -> tt a__U51(tt, V2) -> a__U52(a__isNatList(V2)) a__U52(tt) -> tt a__U61(tt, L, N) -> a__U62(a__isNat(N), L) a__U62(tt, L) -> s(a__length(mark(L))) a__isNat(0) -> tt a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) a__isNat(s(V1)) -> a__U21(a__isNat(V1)) a__isNatIList(V) -> a__U31(a__isNatList(V)) a__isNatIList(zeros) -> tt a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) a__isNatList(nil) -> tt a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) a__length(nil) -> 0 a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) mark(zeros) -> a__zeros mark(U11(X)) -> a__U11(mark(X)) mark(U21(X)) -> a__U21(mark(X)) mark(U31(X)) -> a__U31(mark(X)) mark(U41(X1, X2)) -> a__U41(mark(X1), X2) mark(U42(X)) -> a__U42(mark(X)) mark(isNatIList(X)) -> a__isNatIList(X) mark(U51(X1, X2)) -> a__U51(mark(X1), X2) mark(U52(X)) -> a__U52(mark(X)) mark(isNatList(X)) -> a__isNatList(X) mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) mark(U62(X1, X2)) -> a__U62(mark(X1), X2) mark(isNat(X)) -> a__isNat(X) mark(length(X)) -> a__length(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__U11(X) -> U11(X) a__U21(X) -> U21(X) a__U31(X) -> U31(X) a__U41(X1, X2) -> U41(X1, X2) a__U42(X) -> U42(X) a__isNatIList(X) -> isNatIList(X) a__U51(X1, X2) -> U51(X1, X2) a__U52(X) -> U52(X) a__isNatList(X) -> isNatList(X) a__U61(X1, X2, X3) -> U61(X1, X2, X3) a__U62(X1, X2) -> U62(X1, X2) a__isNat(X) -> isNat(X) a__length(X) -> length(X) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__zeros -> cons(0', zeros) a__U11(tt) -> tt a__U21(tt) -> tt a__U31(tt) -> tt a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) a__U42(tt) -> tt a__U51(tt, V2) -> a__U52(a__isNatList(V2)) a__U52(tt) -> tt a__U61(tt, L, N) -> a__U62(a__isNat(N), L) a__U62(tt, L) -> s(a__length(mark(L))) a__isNat(0') -> tt a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) a__isNat(s(V1)) -> a__U21(a__isNat(V1)) a__isNatIList(V) -> a__U31(a__isNatList(V)) a__isNatIList(zeros) -> tt a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) a__isNatList(nil) -> tt a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) a__length(nil) -> 0' a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) mark(zeros) -> a__zeros mark(U11(X)) -> a__U11(mark(X)) mark(U21(X)) -> a__U21(mark(X)) mark(U31(X)) -> a__U31(mark(X)) mark(U41(X1, X2)) -> a__U41(mark(X1), X2) mark(U42(X)) -> a__U42(mark(X)) mark(isNatIList(X)) -> a__isNatIList(X) mark(U51(X1, X2)) -> a__U51(mark(X1), X2) mark(U52(X)) -> a__U52(mark(X)) mark(isNatList(X)) -> a__isNatList(X) mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) mark(U62(X1, X2)) -> a__U62(mark(X1), X2) mark(isNat(X)) -> a__isNat(X) mark(length(X)) -> a__length(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__U11(X) -> U11(X) a__U21(X) -> U21(X) a__U31(X) -> U31(X) a__U41(X1, X2) -> U41(X1, X2) a__U42(X) -> U42(X) a__isNatIList(X) -> isNatIList(X) a__U51(X1, X2) -> U51(X1, X2) a__U52(X) -> U52(X) a__isNatList(X) -> isNatList(X) a__U61(X1, X2, X3) -> U61(X1, X2, X3) a__U62(X1, X2) -> U62(X1, X2) a__isNat(X) -> isNat(X) a__length(X) -> length(X) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__zeros -> cons(0, zeros) a__U11(tt) -> tt a__U21(tt) -> tt a__U31(tt) -> tt a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) a__U42(tt) -> tt a__U51(tt, V2) -> a__U52(a__isNatList(V2)) a__U52(tt) -> tt a__U61(tt, L, N) -> a__U62(a__isNat(N), L) a__U62(tt, L) -> s(a__length(mark(L))) a__isNat(0) -> tt a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) a__isNat(s(V1)) -> a__U21(a__isNat(V1)) a__isNatIList(V) -> a__U31(a__isNatList(V)) a__isNatIList(zeros) -> tt a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) a__isNatList(nil) -> tt a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) a__length(nil) -> 0 a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) mark(zeros) -> a__zeros mark(U11(X)) -> a__U11(mark(X)) mark(U21(X)) -> a__U21(mark(X)) mark(U31(X)) -> a__U31(mark(X)) mark(U41(X1, X2)) -> a__U41(mark(X1), X2) mark(U42(X)) -> a__U42(mark(X)) mark(isNatIList(X)) -> a__isNatIList(X) mark(U51(X1, X2)) -> a__U51(mark(X1), X2) mark(U52(X)) -> a__U52(mark(X)) mark(isNatList(X)) -> a__isNatList(X) mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) mark(U62(X1, X2)) -> a__U62(mark(X1), X2) mark(isNat(X)) -> a__isNat(X) mark(length(X)) -> a__length(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__U11(X) -> U11(X) a__U21(X) -> U21(X) a__U31(X) -> U31(X) a__U41(X1, X2) -> U41(X1, X2) a__U42(X) -> U42(X) a__isNatIList(X) -> isNatIList(X) a__U51(X1, X2) -> U51(X1, X2) a__U52(X) -> U52(X) a__isNatList(X) -> isNatList(X) a__U61(X1, X2, X3) -> U61(X1, X2, X3) a__U62(X1, X2) -> U62(X1, X2) a__isNat(X) -> isNat(X) a__length(X) -> length(X) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (5) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (6) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0) -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0) -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 S tuples: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0) -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0) -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ZEROS, A__U11_1, A__U21_1, A__U31_1, A__U41_2, A__U42_1, A__U51_2, A__U52_1, A__U61_3, A__U62_2, A__ISNAT_1, A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1 Compound Symbols: c, c1, c2, c3, c4, c5, c6, c7, c8_2, c9, c10, c11, c12_2, c13, c14, c15, c16_2, c17, c18_2, c19, c20, c21_2, c22_2, c23, c24_2, c25, c26_2, c27, c28, c29_2, c30, c31, c32_2, c33, c34_1, c35_2, c36_2, c37_2, c38_2, c39_2, c40_1, c41_2, c42_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c49, c50, c51_1, c52 ---------------------------------------- (7) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0) -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0) -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 The (relative) TRS S consists of the following rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Rewrite Strategy: INNERMOST ---------------------------------------- (9) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (10) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0') -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0') -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 The (relative) TRS S consists of the following rules: a__zeros -> cons(0', zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0') -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0') -> 0' mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Rewrite Strategy: INNERMOST ---------------------------------------- (11) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (12) Obligation: Innermost TRS: Rules: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0') -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0') -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 a__zeros -> cons(0', zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0') -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0') -> 0' mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Types: A__ZEROS :: c:c1 c :: c:c1 c1 :: c:c1 A__U11 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c2:c3 tt :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c2 :: c2:c3 c3 :: c2:c3 A__U21 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c4:c5 c4 :: c4:c5 c5 :: c4:c5 A__U31 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 A__U41 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c8:c9 c8 :: c10:c11 -> c24:c25:c26:c27 -> c8:c9 A__U42 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c10:c11 a__isNatIList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat A__ISNATILIST :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c24:c25:c26:c27 c9 :: c8:c9 c10 :: c10:c11 c11 :: c10:c11 A__U51 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c12:c13 c12 :: c14:c15 -> c28:c29:c30 -> c12:c13 A__U52 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c14:c15 a__isNatList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat A__ISNATLIST :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c28:c29:c30 c13 :: c12:c13 c14 :: c14:c15 c15 :: c14:c15 A__U61 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c16:c17 c16 :: c18:c19 -> c20:c21:c22:c23 -> c16:c17 A__U62 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c18:c19 a__isNat :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat A__ISNAT :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c20:c21:c22:c23 c17 :: c16:c17 c18 :: c31:c32:c33 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c18:c19 A__LENGTH :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c31:c32:c33 mark :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat MARK :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c19 :: c18:c19 0' :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c20 :: c20:c21:c22:c23 length :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c21 :: c2:c3 -> c28:c29:c30 -> c20:c21:c22:c23 s :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c22 :: c4:c5 -> c20:c21:c22:c23 -> c20:c21:c22:c23 c23 :: c20:c21:c22:c23 c24 :: c6:c7 -> c28:c29:c30 -> c24:c25:c26:c27 zeros :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c25 :: c24:c25:c26:c27 cons :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c26 :: c8:c9 -> c20:c21:c22:c23 -> c24:c25:c26:c27 c27 :: c24:c25:c26:c27 nil :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c28 :: c28:c29:c30 c29 :: c12:c13 -> c20:c21:c22:c23 -> c28:c29:c30 c30 :: c28:c29:c30 c31 :: c31:c32:c33 c32 :: c16:c17 -> c28:c29:c30 -> c31:c32:c33 c33 :: c31:c32:c33 c34 :: c:c1 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U11 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c35 :: c2:c3 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U21 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c36 :: c4:c5 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U31 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c37 :: c6:c7 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U41 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c38 :: c8:c9 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U42 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c39 :: c10:c11 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 isNatIList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c40 :: c24:c25:c26:c27 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U51 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c41 :: c12:c13 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U52 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c42 :: c14:c15 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 isNatList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c43 :: c28:c29:c30 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U61 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c44 :: c16:c17 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U62 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c45 :: c18:c19 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 isNat :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c46 :: c20:c21:c22:c23 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c47 :: c31:c32:c33 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c48 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c49 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c50 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c51 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c52 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 a__zeros :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U11 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U21 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U31 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U41 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U42 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U51 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U52 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U61 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U62 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__length :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat hole_c:c11_53 :: c:c1 hole_c2:c32_53 :: c2:c3 hole_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat3_53 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat hole_c4:c54_53 :: c4:c5 hole_c6:c75_53 :: c6:c7 hole_c8:c96_53 :: c8:c9 hole_c10:c117_53 :: c10:c11 hole_c24:c25:c26:c278_53 :: c24:c25:c26:c27 hole_c12:c139_53 :: c12:c13 hole_c14:c1510_53 :: c14:c15 hole_c28:c29:c3011_53 :: c28:c29:c30 hole_c16:c1712_53 :: c16:c17 hole_c18:c1913_53 :: c18:c19 hole_c20:c21:c22:c2314_53 :: c20:c21:c22:c23 hole_c31:c32:c3315_53 :: c31:c32:c33 hole_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5216_53 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 gen_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat17_53 :: Nat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat gen_c20:c21:c22:c2318_53 :: Nat -> c20:c21:c22:c23 gen_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5219_53 :: Nat -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 ---------------------------------------- (13) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__U41, a__isNatIList, A__ISNATILIST, A__U51, a__isNatList, A__ISNATLIST, A__U61, A__U62, a__isNat, A__ISNAT, A__LENGTH, mark, MARK, a__U41, a__U51, a__U61, a__U62, a__length They will be analysed ascendingly in the following order: a__isNatIList < A__U41 A__U41 = A__ISNATILIST A__U41 < MARK a__isNatList < a__isNatIList a__isNat < a__isNatIList a__isNatIList < mark a__isNatIList = a__U41 a__isNatList < A__ISNATILIST A__ISNATLIST < A__ISNATILIST a__isNat < A__ISNATILIST A__ISNAT < A__ISNATILIST A__ISNATILIST < MARK a__isNatList < A__U51 A__U51 = A__ISNATLIST A__U51 = A__ISNAT A__U51 < MARK a__isNatList = a__isNat a__isNatList < A__ISNAT a__isNatList < A__LENGTH a__isNatList < mark a__isNatList = a__U51 a__isNatList < a__length a__isNat < A__ISNATLIST A__ISNATLIST = A__ISNAT A__ISNATLIST < A__LENGTH A__ISNATLIST < MARK A__U61 = A__U62 a__isNat < A__U61 A__ISNAT < A__U61 A__U61 = A__LENGTH A__U61 = MARK A__U62 = A__LENGTH mark < A__U62 A__U62 = MARK a__isNat < A__ISNAT a__isNat < mark a__isNat = a__U51 a__isNat < a__U61 A__ISNAT < MARK A__LENGTH = MARK mark < MARK a__U41 < mark a__U51 < mark mark = a__U61 mark = a__U62 mark = a__length a__U61 = a__U62 a__U61 = a__length a__U62 = a__length ---------------------------------------- (14) Obligation: Innermost TRS: Rules: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0') -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0') -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 a__zeros -> cons(0', zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0') -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0' a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0') -> 0' mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Types: A__ZEROS :: c:c1 c :: c:c1 c1 :: c:c1 A__U11 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c2:c3 tt :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c2 :: c2:c3 c3 :: c2:c3 A__U21 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c4:c5 c4 :: c4:c5 c5 :: c4:c5 A__U31 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 A__U41 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c8:c9 c8 :: c10:c11 -> c24:c25:c26:c27 -> c8:c9 A__U42 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c10:c11 a__isNatIList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat A__ISNATILIST :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c24:c25:c26:c27 c9 :: c8:c9 c10 :: c10:c11 c11 :: c10:c11 A__U51 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c12:c13 c12 :: c14:c15 -> c28:c29:c30 -> c12:c13 A__U52 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c14:c15 a__isNatList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat A__ISNATLIST :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c28:c29:c30 c13 :: c12:c13 c14 :: c14:c15 c15 :: c14:c15 A__U61 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c16:c17 c16 :: c18:c19 -> c20:c21:c22:c23 -> c16:c17 A__U62 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c18:c19 a__isNat :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat A__ISNAT :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c20:c21:c22:c23 c17 :: c16:c17 c18 :: c31:c32:c33 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c18:c19 A__LENGTH :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c31:c32:c33 mark :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat MARK :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c19 :: c18:c19 0' :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c20 :: c20:c21:c22:c23 length :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c21 :: c2:c3 -> c28:c29:c30 -> c20:c21:c22:c23 s :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c22 :: c4:c5 -> c20:c21:c22:c23 -> c20:c21:c22:c23 c23 :: c20:c21:c22:c23 c24 :: c6:c7 -> c28:c29:c30 -> c24:c25:c26:c27 zeros :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c25 :: c24:c25:c26:c27 cons :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c26 :: c8:c9 -> c20:c21:c22:c23 -> c24:c25:c26:c27 c27 :: c24:c25:c26:c27 nil :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c28 :: c28:c29:c30 c29 :: c12:c13 -> c20:c21:c22:c23 -> c28:c29:c30 c30 :: c28:c29:c30 c31 :: c31:c32:c33 c32 :: c16:c17 -> c28:c29:c30 -> c31:c32:c33 c33 :: c31:c32:c33 c34 :: c:c1 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U11 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c35 :: c2:c3 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U21 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c36 :: c4:c5 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U31 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c37 :: c6:c7 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U41 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c38 :: c8:c9 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U42 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c39 :: c10:c11 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 isNatIList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c40 :: c24:c25:c26:c27 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U51 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c41 :: c12:c13 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U52 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c42 :: c14:c15 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 isNatList :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c43 :: c28:c29:c30 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U61 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c44 :: c16:c17 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 U62 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c45 :: c18:c19 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 isNat :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat c46 :: c20:c21:c22:c23 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c47 :: c31:c32:c33 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c48 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c49 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c50 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c51 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 c52 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 a__zeros :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U11 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U21 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U31 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U41 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U42 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U51 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U52 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U61 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U62 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__length :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat hole_c:c11_53 :: c:c1 hole_c2:c32_53 :: c2:c3 hole_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat3_53 :: tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat hole_c4:c54_53 :: c4:c5 hole_c6:c75_53 :: c6:c7 hole_c8:c96_53 :: c8:c9 hole_c10:c117_53 :: c10:c11 hole_c24:c25:c26:c278_53 :: c24:c25:c26:c27 hole_c12:c139_53 :: c12:c13 hole_c14:c1510_53 :: c14:c15 hole_c28:c29:c3011_53 :: c28:c29:c30 hole_c16:c1712_53 :: c16:c17 hole_c18:c1913_53 :: c18:c19 hole_c20:c21:c22:c2314_53 :: c20:c21:c22:c23 hole_c31:c32:c3315_53 :: c31:c32:c33 hole_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5216_53 :: c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 gen_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat17_53 :: Nat -> tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat gen_c20:c21:c22:c2318_53 :: Nat -> c20:c21:c22:c23 gen_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5219_53 :: Nat -> c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c52 Generator Equations: gen_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat17_53(0) <=> tt gen_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat17_53(+(x, 1)) <=> length(gen_tt:0':length:s:zeros:cons:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat17_53(x)) gen_c20:c21:c22:c2318_53(0) <=> c20 gen_c20:c21:c22:c2318_53(+(x, 1)) <=> c22(c4, gen_c20:c21:c22:c2318_53(x)) gen_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5219_53(0) <=> c34(c) gen_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5219_53(+(x, 1)) <=> c35(c2, gen_c34:c35:c36:c37:c38:c39:c40:c41:c42:c43:c44:c45:c46:c47:c48:c49:c50:c51:c5219_53(x)) The following defined symbols remain to be analysed: a__U51, A__U41, a__isNatIList, A__ISNATILIST, A__U51, a__isNatList, A__ISNATLIST, A__U61, A__U62, a__isNat, A__ISNAT, A__LENGTH, mark, MARK, a__U41, a__U61, a__U62, a__length They will be analysed ascendingly in the following order: a__isNatIList < A__U41 A__U41 = A__ISNATILIST A__U41 < MARK a__isNatList < a__isNatIList a__isNat < a__isNatIList a__isNatIList < mark a__isNatIList = a__U41 a__isNatList < A__ISNATILIST A__ISNATLIST < A__ISNATILIST a__isNat < A__ISNATILIST A__ISNAT < A__ISNATILIST A__ISNATILIST < MARK a__isNatList < A__U51 A__U51 = A__ISNATLIST A__U51 = A__ISNAT A__U51 < MARK a__isNatList = a__isNat a__isNatList < A__ISNAT a__isNatList < A__LENGTH a__isNatList < mark a__isNatList = a__U51 a__isNatList < a__length a__isNat < A__ISNATLIST A__ISNATLIST = A__ISNAT A__ISNATLIST < A__LENGTH A__ISNATLIST < MARK A__U61 = A__U62 a__isNat < A__U61 A__ISNAT < A__U61 A__U61 = A__LENGTH A__U61 = MARK A__U62 = A__LENGTH mark < A__U62 A__U62 = MARK a__isNat < A__ISNAT a__isNat < mark a__isNat = a__U51 a__isNat < a__U61 A__ISNAT < MARK A__LENGTH = MARK mark < MARK a__U41 < mark a__U51 < mark mark = a__U61 mark = a__U62 mark = a__length a__U61 = a__U62 a__U61 = a__length a__U62 = a__length ---------------------------------------- (15) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (16) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0) -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0) -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 The (relative) TRS S consists of the following rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Rewrite Strategy: INNERMOST ---------------------------------------- (17) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (18) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__zeros -> cons(0, zeros) [1] a__U11(tt) -> tt [1] a__U21(tt) -> tt [1] a__U31(tt) -> tt [1] a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) [1] a__U42(tt) -> tt [1] a__U51(tt, V2) -> a__U52(a__isNatList(V2)) [1] a__U52(tt) -> tt [1] a__U61(tt, L, N) -> a__U62(a__isNat(N), L) [1] a__U62(tt, L) -> s(a__length(mark(L))) [1] a__isNat(0) -> tt [1] a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) [1] a__isNat(s(V1)) -> a__U21(a__isNat(V1)) [1] a__isNatIList(V) -> a__U31(a__isNatList(V)) [1] a__isNatIList(zeros) -> tt [1] a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) [1] a__isNatList(nil) -> tt [1] a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) [1] a__length(nil) -> 0 [1] a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) [1] mark(zeros) -> a__zeros [1] mark(U11(X)) -> a__U11(mark(X)) [1] mark(U21(X)) -> a__U21(mark(X)) [1] mark(U31(X)) -> a__U31(mark(X)) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(U42(X)) -> a__U42(mark(X)) [1] mark(isNatIList(X)) -> a__isNatIList(X) [1] mark(U51(X1, X2)) -> a__U51(mark(X1), X2) [1] mark(U52(X)) -> a__U52(mark(X)) [1] mark(isNatList(X)) -> a__isNatList(X) [1] mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) [1] mark(U62(X1, X2)) -> a__U62(mark(X1), X2) [1] mark(isNat(X)) -> a__isNat(X) [1] mark(length(X)) -> a__length(mark(X)) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(0) -> 0 [1] mark(tt) -> tt [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] a__zeros -> zeros [1] a__U11(X) -> U11(X) [1] a__U21(X) -> U21(X) [1] a__U31(X) -> U31(X) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__U42(X) -> U42(X) [1] a__isNatIList(X) -> isNatIList(X) [1] a__U51(X1, X2) -> U51(X1, X2) [1] a__U52(X) -> U52(X) [1] a__isNatList(X) -> isNatList(X) [1] a__U61(X1, X2, X3) -> U61(X1, X2, X3) [1] a__U62(X1, X2) -> U62(X1, X2) [1] a__isNat(X) -> isNat(X) [1] a__length(X) -> length(X) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (19) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (20) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__zeros -> cons(0, zeros) [1] a__U11(tt) -> tt [1] a__U21(tt) -> tt [1] a__U31(tt) -> tt [1] a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) [1] a__U42(tt) -> tt [1] a__U51(tt, V2) -> a__U52(a__isNatList(V2)) [1] a__U52(tt) -> tt [1] a__U61(tt, L, N) -> a__U62(a__isNat(N), L) [1] a__U62(tt, L) -> s(a__length(mark(L))) [1] a__isNat(0) -> tt [1] a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) [1] a__isNat(s(V1)) -> a__U21(a__isNat(V1)) [1] a__isNatIList(V) -> a__U31(a__isNatList(V)) [1] a__isNatIList(zeros) -> tt [1] a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) [1] a__isNatList(nil) -> tt [1] a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) [1] a__length(nil) -> 0 [1] a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) [1] mark(zeros) -> a__zeros [1] mark(U11(X)) -> a__U11(mark(X)) [1] mark(U21(X)) -> a__U21(mark(X)) [1] mark(U31(X)) -> a__U31(mark(X)) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(U42(X)) -> a__U42(mark(X)) [1] mark(isNatIList(X)) -> a__isNatIList(X) [1] mark(U51(X1, X2)) -> a__U51(mark(X1), X2) [1] mark(U52(X)) -> a__U52(mark(X)) [1] mark(isNatList(X)) -> a__isNatList(X) [1] mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) [1] mark(U62(X1, X2)) -> a__U62(mark(X1), X2) [1] mark(isNat(X)) -> a__isNat(X) [1] mark(length(X)) -> a__length(mark(X)) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(0) -> 0 [1] mark(tt) -> tt [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] a__zeros -> zeros [1] a__U11(X) -> U11(X) [1] a__U21(X) -> U21(X) [1] a__U31(X) -> U31(X) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__U42(X) -> U42(X) [1] a__isNatIList(X) -> isNatIList(X) [1] a__U51(X1, X2) -> U51(X1, X2) [1] a__U52(X) -> U52(X) [1] a__isNatList(X) -> isNatList(X) [1] a__U61(X1, X2, X3) -> U61(X1, X2, X3) [1] a__U62(X1, X2) -> U62(X1, X2) [1] a__isNat(X) -> isNat(X) [1] a__length(X) -> length(X) [1] The TRS has the following type information: a__zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat cons :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat 0 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat tt :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat s :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat mark :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat nil :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat Rewrite Strategy: INNERMOST ---------------------------------------- (21) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: a__isNatIList_1 mark_1 a__isNatList_1 a__isNat_1 a__U11_1 a__length_1 a__U52_1 a__U21_1 a__U61_3 a__zeros a__U41_2 a__U42_1 a__U51_2 a__U62_2 a__U31_1 Due to the following rules being added: none And the following fresh constants: none ---------------------------------------- (22) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__zeros -> cons(0, zeros) [1] a__U11(tt) -> tt [1] a__U21(tt) -> tt [1] a__U31(tt) -> tt [1] a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) [1] a__U42(tt) -> tt [1] a__U51(tt, V2) -> a__U52(a__isNatList(V2)) [1] a__U52(tt) -> tt [1] a__U61(tt, L, N) -> a__U62(a__isNat(N), L) [1] a__U62(tt, L) -> s(a__length(mark(L))) [1] a__isNat(0) -> tt [1] a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) [1] a__isNat(s(V1)) -> a__U21(a__isNat(V1)) [1] a__isNatIList(V) -> a__U31(a__isNatList(V)) [1] a__isNatIList(zeros) -> tt [1] a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) [1] a__isNatList(nil) -> tt [1] a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) [1] a__length(nil) -> 0 [1] a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) [1] mark(zeros) -> a__zeros [1] mark(U11(X)) -> a__U11(mark(X)) [1] mark(U21(X)) -> a__U21(mark(X)) [1] mark(U31(X)) -> a__U31(mark(X)) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(U42(X)) -> a__U42(mark(X)) [1] mark(isNatIList(X)) -> a__isNatIList(X) [1] mark(U51(X1, X2)) -> a__U51(mark(X1), X2) [1] mark(U52(X)) -> a__U52(mark(X)) [1] mark(isNatList(X)) -> a__isNatList(X) [1] mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) [1] mark(U62(X1, X2)) -> a__U62(mark(X1), X2) [1] mark(isNat(X)) -> a__isNat(X) [1] mark(length(X)) -> a__length(mark(X)) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(0) -> 0 [1] mark(tt) -> tt [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] a__zeros -> zeros [1] a__U11(X) -> U11(X) [1] a__U21(X) -> U21(X) [1] a__U31(X) -> U31(X) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__U42(X) -> U42(X) [1] a__isNatIList(X) -> isNatIList(X) [1] a__U51(X1, X2) -> U51(X1, X2) [1] a__U52(X) -> U52(X) [1] a__isNatList(X) -> isNatList(X) [1] a__U61(X1, X2, X3) -> U61(X1, X2, X3) [1] a__U62(X1, X2) -> U62(X1, X2) [1] a__isNat(X) -> isNat(X) [1] a__length(X) -> length(X) [1] The TRS has the following type information: a__zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat cons :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat 0 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat tt :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat s :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat mark :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat nil :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat Rewrite Strategy: INNERMOST ---------------------------------------- (23) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (24) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__zeros -> cons(0, zeros) [1] a__U11(tt) -> tt [1] a__U21(tt) -> tt [1] a__U31(tt) -> tt [1] a__U41(tt, V2) -> a__U42(a__U31(a__isNatList(V2))) [2] a__U41(tt, zeros) -> a__U42(tt) [2] a__U41(tt, cons(V1', V2')) -> a__U42(a__U41(a__isNat(V1'), V2')) [2] a__U41(tt, V2) -> a__U42(isNatIList(V2)) [2] a__U42(tt) -> tt [1] a__U51(tt, nil) -> a__U52(tt) [2] a__U51(tt, cons(V1'', V2'')) -> a__U52(a__U51(a__isNat(V1''), V2'')) [2] a__U51(tt, V2) -> a__U52(isNatList(V2)) [2] a__U52(tt) -> tt [1] a__U61(tt, L, 0) -> a__U62(tt, L) [2] a__U61(tt, L, length(V11)) -> a__U62(a__U11(a__isNatList(V11)), L) [2] a__U61(tt, L, s(V12)) -> a__U62(a__U21(a__isNat(V12)), L) [2] a__U61(tt, L, N) -> a__U62(isNat(N), L) [2] a__U62(tt, zeros) -> s(a__length(a__zeros)) [2] a__U62(tt, U11(X')) -> s(a__length(a__U11(mark(X')))) [2] a__U62(tt, U21(X'')) -> s(a__length(a__U21(mark(X'')))) [2] a__U62(tt, U31(X4)) -> s(a__length(a__U31(mark(X4)))) [2] a__U62(tt, U41(X1', X2')) -> s(a__length(a__U41(mark(X1'), X2'))) [2] a__U62(tt, U42(X5)) -> s(a__length(a__U42(mark(X5)))) [2] a__U62(tt, isNatIList(X6)) -> s(a__length(a__isNatIList(X6))) [2] a__U62(tt, U51(X1'', X2'')) -> s(a__length(a__U51(mark(X1''), X2''))) [2] a__U62(tt, U52(X7)) -> s(a__length(a__U52(mark(X7)))) [2] a__U62(tt, isNatList(X8)) -> s(a__length(a__isNatList(X8))) [2] a__U62(tt, U61(X11, X21, X3')) -> s(a__length(a__U61(mark(X11), X21, X3'))) [2] a__U62(tt, U62(X12, X22)) -> s(a__length(a__U62(mark(X12), X22))) [2] a__U62(tt, isNat(X9)) -> s(a__length(a__isNat(X9))) [2] a__U62(tt, length(X10)) -> s(a__length(a__length(mark(X10)))) [2] a__U62(tt, cons(X13, X23)) -> s(a__length(cons(mark(X13), X23))) [2] a__U62(tt, 0) -> s(a__length(0)) [2] a__U62(tt, tt) -> s(a__length(tt)) [2] a__U62(tt, s(X14)) -> s(a__length(s(mark(X14)))) [2] a__U62(tt, nil) -> s(a__length(nil)) [2] a__isNat(0) -> tt [1] a__isNat(length(nil)) -> a__U11(tt) [2] a__isNat(length(cons(V13, V21))) -> a__U11(a__U51(a__isNat(V13), V21)) [2] a__isNat(length(V1)) -> a__U11(isNatList(V1)) [2] a__isNat(s(0)) -> a__U21(tt) [2] a__isNat(s(length(V14))) -> a__U21(a__U11(a__isNatList(V14))) [2] a__isNat(s(s(V15))) -> a__U21(a__U21(a__isNat(V15))) [2] a__isNat(s(V1)) -> a__U21(isNat(V1)) [2] a__isNatIList(nil) -> a__U31(tt) [2] a__isNatIList(cons(V16, V22)) -> a__U31(a__U51(a__isNat(V16), V22)) [2] a__isNatIList(V) -> a__U31(isNatList(V)) [2] a__isNatIList(zeros) -> tt [1] a__isNatIList(cons(0, V2)) -> a__U41(tt, V2) [2] a__isNatIList(cons(length(V17), V2)) -> a__U41(a__U11(a__isNatList(V17)), V2) [2] a__isNatIList(cons(s(V18), V2)) -> a__U41(a__U21(a__isNat(V18)), V2) [2] a__isNatIList(cons(V1, V2)) -> a__U41(isNat(V1), V2) [2] a__isNatList(nil) -> tt [1] a__isNatList(cons(0, V2)) -> a__U51(tt, V2) [2] a__isNatList(cons(length(V19), V2)) -> a__U51(a__U11(a__isNatList(V19)), V2) [2] a__isNatList(cons(s(V110), V2)) -> a__U51(a__U21(a__isNat(V110)), V2) [2] a__isNatList(cons(V1, V2)) -> a__U51(isNat(V1), V2) [2] a__length(nil) -> 0 [1] a__length(cons(N, nil)) -> a__U61(tt, nil, N) [2] a__length(cons(N, cons(V111, V23))) -> a__U61(a__U51(a__isNat(V111), V23), cons(V111, V23), N) [2] a__length(cons(N, L)) -> a__U61(isNatList(L), L, N) [2] mark(zeros) -> a__zeros [1] mark(U11(zeros)) -> a__U11(a__zeros) [2] mark(U11(U11(X15))) -> a__U11(a__U11(mark(X15))) [2] mark(U11(U21(X16))) -> a__U11(a__U21(mark(X16))) [2] mark(U11(U31(X17))) -> a__U11(a__U31(mark(X17))) [2] mark(U11(U41(X18, X24))) -> a__U11(a__U41(mark(X18), X24)) [2] mark(U11(U42(X19))) -> a__U11(a__U42(mark(X19))) [2] mark(U11(isNatIList(X20))) -> a__U11(a__isNatIList(X20)) [2] mark(U11(U51(X110, X25))) -> a__U11(a__U51(mark(X110), X25)) [2] mark(U11(U52(X26))) -> a__U11(a__U52(mark(X26))) [2] mark(U11(isNatList(X27))) -> a__U11(a__isNatList(X27)) [2] mark(U11(U61(X111, X28, X3''))) -> a__U11(a__U61(mark(X111), X28, X3'')) [2] mark(U11(U62(X112, X29))) -> a__U11(a__U62(mark(X112), X29)) [2] mark(U11(isNat(X30))) -> a__U11(a__isNat(X30)) [2] mark(U11(length(X31))) -> a__U11(a__length(mark(X31))) [2] mark(U11(cons(X113, X210))) -> a__U11(cons(mark(X113), X210)) [2] mark(U11(0)) -> a__U11(0) [2] mark(U11(tt)) -> a__U11(tt) [2] mark(U11(s(X32))) -> a__U11(s(mark(X32))) [2] mark(U11(nil)) -> a__U11(nil) [2] mark(U21(zeros)) -> a__U21(a__zeros) [2] mark(U21(U11(X33))) -> a__U21(a__U11(mark(X33))) [2] mark(U21(U21(X34))) -> a__U21(a__U21(mark(X34))) [2] mark(U21(U31(X35))) -> a__U21(a__U31(mark(X35))) [2] mark(U21(U41(X114, X211))) -> a__U21(a__U41(mark(X114), X211)) [2] mark(U21(U42(X36))) -> a__U21(a__U42(mark(X36))) [2] mark(U21(isNatIList(X37))) -> a__U21(a__isNatIList(X37)) [2] mark(U21(U51(X115, X212))) -> a__U21(a__U51(mark(X115), X212)) [2] mark(U21(U52(X38))) -> a__U21(a__U52(mark(X38))) [2] mark(U21(isNatList(X39))) -> a__U21(a__isNatList(X39)) [2] mark(U21(U61(X116, X213, X310))) -> a__U21(a__U61(mark(X116), X213, X310)) [2] mark(U21(U62(X117, X214))) -> a__U21(a__U62(mark(X117), X214)) [2] mark(U21(isNat(X40))) -> a__U21(a__isNat(X40)) [2] mark(U21(length(X41))) -> a__U21(a__length(mark(X41))) [2] mark(U21(cons(X118, X215))) -> a__U21(cons(mark(X118), X215)) [2] mark(U21(0)) -> a__U21(0) [2] mark(U21(tt)) -> a__U21(tt) [2] mark(U21(s(X42))) -> a__U21(s(mark(X42))) [2] mark(U21(nil)) -> a__U21(nil) [2] mark(U31(zeros)) -> a__U31(a__zeros) [2] mark(U31(U11(X43))) -> a__U31(a__U11(mark(X43))) [2] mark(U31(U21(X44))) -> a__U31(a__U21(mark(X44))) [2] mark(U31(U31(X45))) -> a__U31(a__U31(mark(X45))) [2] mark(U31(U41(X119, X216))) -> a__U31(a__U41(mark(X119), X216)) [2] mark(U31(U42(X46))) -> a__U31(a__U42(mark(X46))) [2] mark(U31(isNatIList(X47))) -> a__U31(a__isNatIList(X47)) [2] mark(U31(U51(X120, X217))) -> a__U31(a__U51(mark(X120), X217)) [2] mark(U31(U52(X48))) -> a__U31(a__U52(mark(X48))) [2] mark(U31(isNatList(X49))) -> a__U31(a__isNatList(X49)) [2] mark(U31(U61(X121, X218, X311))) -> a__U31(a__U61(mark(X121), X218, X311)) [2] mark(U31(U62(X122, X219))) -> a__U31(a__U62(mark(X122), X219)) [2] mark(U31(isNat(X50))) -> a__U31(a__isNat(X50)) [2] mark(U31(length(X51))) -> a__U31(a__length(mark(X51))) [2] mark(U31(cons(X123, X220))) -> a__U31(cons(mark(X123), X220)) [2] mark(U31(0)) -> a__U31(0) [2] mark(U31(tt)) -> a__U31(tt) [2] mark(U31(s(X52))) -> a__U31(s(mark(X52))) [2] mark(U31(nil)) -> a__U31(nil) [2] mark(U41(zeros, X2)) -> a__U41(a__zeros, X2) [2] mark(U41(U11(X53), X2)) -> a__U41(a__U11(mark(X53)), X2) [2] mark(U41(U21(X54), X2)) -> a__U41(a__U21(mark(X54)), X2) [2] mark(U41(U31(X55), X2)) -> a__U41(a__U31(mark(X55)), X2) [2] mark(U41(U41(X124, X221), X2)) -> a__U41(a__U41(mark(X124), X221), X2) [2] mark(U41(U42(X56), X2)) -> a__U41(a__U42(mark(X56)), X2) [2] mark(U41(isNatIList(X57), X2)) -> a__U41(a__isNatIList(X57), X2) [2] mark(U41(U51(X125, X222), X2)) -> a__U41(a__U51(mark(X125), X222), X2) [2] mark(U41(U52(X58), X2)) -> a__U41(a__U52(mark(X58)), X2) [2] mark(U41(isNatList(X59), X2)) -> a__U41(a__isNatList(X59), X2) [2] mark(U41(U61(X126, X223, X312), X2)) -> a__U41(a__U61(mark(X126), X223, X312), X2) [2] mark(U41(U62(X127, X224), X2)) -> a__U41(a__U62(mark(X127), X224), X2) [2] mark(U41(isNat(X60), X2)) -> a__U41(a__isNat(X60), X2) [2] mark(U41(length(X61), X2)) -> a__U41(a__length(mark(X61)), X2) [2] mark(U41(cons(X128, X225), X2)) -> a__U41(cons(mark(X128), X225), X2) [2] mark(U41(0, X2)) -> a__U41(0, X2) [2] mark(U41(tt, X2)) -> a__U41(tt, X2) [2] mark(U41(s(X62), X2)) -> a__U41(s(mark(X62)), X2) [2] mark(U41(nil, X2)) -> a__U41(nil, X2) [2] mark(U42(zeros)) -> a__U42(a__zeros) [2] mark(U42(U11(X63))) -> a__U42(a__U11(mark(X63))) [2] mark(U42(U21(X64))) -> a__U42(a__U21(mark(X64))) [2] mark(U42(U31(X65))) -> a__U42(a__U31(mark(X65))) [2] mark(U42(U41(X129, X226))) -> a__U42(a__U41(mark(X129), X226)) [2] mark(U42(U42(X66))) -> a__U42(a__U42(mark(X66))) [2] mark(U42(isNatIList(X67))) -> a__U42(a__isNatIList(X67)) [2] mark(U42(U51(X130, X227))) -> a__U42(a__U51(mark(X130), X227)) [2] mark(U42(U52(X68))) -> a__U42(a__U52(mark(X68))) [2] mark(U42(isNatList(X69))) -> a__U42(a__isNatList(X69)) [2] mark(U42(U61(X131, X228, X313))) -> a__U42(a__U61(mark(X131), X228, X313)) [2] mark(U42(U62(X132, X229))) -> a__U42(a__U62(mark(X132), X229)) [2] mark(U42(isNat(X70))) -> a__U42(a__isNat(X70)) [2] mark(U42(length(X71))) -> a__U42(a__length(mark(X71))) [2] mark(U42(cons(X133, X230))) -> a__U42(cons(mark(X133), X230)) [2] mark(U42(0)) -> a__U42(0) [2] mark(U42(tt)) -> a__U42(tt) [2] mark(U42(s(X72))) -> a__U42(s(mark(X72))) [2] mark(U42(nil)) -> a__U42(nil) [2] mark(isNatIList(X)) -> a__isNatIList(X) [1] mark(U51(zeros, X2)) -> a__U51(a__zeros, X2) [2] mark(U51(U11(X73), X2)) -> a__U51(a__U11(mark(X73)), X2) [2] mark(U51(U21(X74), X2)) -> a__U51(a__U21(mark(X74)), X2) [2] mark(U51(U31(X75), X2)) -> a__U51(a__U31(mark(X75)), X2) [2] mark(U51(U41(X134, X231), X2)) -> a__U51(a__U41(mark(X134), X231), X2) [2] mark(U51(U42(X76), X2)) -> a__U51(a__U42(mark(X76)), X2) [2] mark(U51(isNatIList(X77), X2)) -> a__U51(a__isNatIList(X77), X2) [2] mark(U51(U51(X135, X232), X2)) -> a__U51(a__U51(mark(X135), X232), X2) [2] mark(U51(U52(X78), X2)) -> a__U51(a__U52(mark(X78)), X2) [2] mark(U51(isNatList(X79), X2)) -> a__U51(a__isNatList(X79), X2) [2] mark(U51(U61(X136, X233, X314), X2)) -> a__U51(a__U61(mark(X136), X233, X314), X2) [2] mark(U51(U62(X137, X234), X2)) -> a__U51(a__U62(mark(X137), X234), X2) [2] mark(U51(isNat(X80), X2)) -> a__U51(a__isNat(X80), X2) [2] mark(U51(length(X81), X2)) -> a__U51(a__length(mark(X81)), X2) [2] mark(U51(cons(X138, X235), X2)) -> a__U51(cons(mark(X138), X235), X2) [2] mark(U51(0, X2)) -> a__U51(0, X2) [2] mark(U51(tt, X2)) -> a__U51(tt, X2) [2] mark(U51(s(X82), X2)) -> a__U51(s(mark(X82)), X2) [2] mark(U51(nil, X2)) -> a__U51(nil, X2) [2] mark(U52(zeros)) -> a__U52(a__zeros) [2] mark(U52(U11(X83))) -> a__U52(a__U11(mark(X83))) [2] mark(U52(U21(X84))) -> a__U52(a__U21(mark(X84))) [2] mark(U52(U31(X85))) -> a__U52(a__U31(mark(X85))) [2] mark(U52(U41(X139, X236))) -> a__U52(a__U41(mark(X139), X236)) [2] mark(U52(U42(X86))) -> a__U52(a__U42(mark(X86))) [2] mark(U52(isNatIList(X87))) -> a__U52(a__isNatIList(X87)) [2] mark(U52(U51(X140, X237))) -> a__U52(a__U51(mark(X140), X237)) [2] mark(U52(U52(X88))) -> a__U52(a__U52(mark(X88))) [2] mark(U52(isNatList(X89))) -> a__U52(a__isNatList(X89)) [2] mark(U52(U61(X141, X238, X315))) -> a__U52(a__U61(mark(X141), X238, X315)) [2] mark(U52(U62(X142, X239))) -> a__U52(a__U62(mark(X142), X239)) [2] mark(U52(isNat(X90))) -> a__U52(a__isNat(X90)) [2] mark(U52(length(X91))) -> a__U52(a__length(mark(X91))) [2] mark(U52(cons(X143, X240))) -> a__U52(cons(mark(X143), X240)) [2] mark(U52(0)) -> a__U52(0) [2] mark(U52(tt)) -> a__U52(tt) [2] mark(U52(s(X92))) -> a__U52(s(mark(X92))) [2] mark(U52(nil)) -> a__U52(nil) [2] mark(isNatList(X)) -> a__isNatList(X) [1] mark(U61(zeros, X2, X3)) -> a__U61(a__zeros, X2, X3) [2] mark(U61(U11(X93), X2, X3)) -> a__U61(a__U11(mark(X93)), X2, X3) [2] mark(U61(U21(X94), X2, X3)) -> a__U61(a__U21(mark(X94)), X2, X3) [2] mark(U61(U31(X95), X2, X3)) -> a__U61(a__U31(mark(X95)), X2, X3) [2] mark(U61(U41(X144, X241), X2, X3)) -> a__U61(a__U41(mark(X144), X241), X2, X3) [2] mark(U61(U42(X96), X2, X3)) -> a__U61(a__U42(mark(X96)), X2, X3) [2] mark(U61(isNatIList(X97), X2, X3)) -> a__U61(a__isNatIList(X97), X2, X3) [2] mark(U61(U51(X145, X242), X2, X3)) -> a__U61(a__U51(mark(X145), X242), X2, X3) [2] mark(U61(U52(X98), X2, X3)) -> a__U61(a__U52(mark(X98)), X2, X3) [2] mark(U61(isNatList(X99), X2, X3)) -> a__U61(a__isNatList(X99), X2, X3) [2] mark(U61(U61(X146, X243, X316), X2, X3)) -> a__U61(a__U61(mark(X146), X243, X316), X2, X3) [2] mark(U61(U62(X147, X244), X2, X3)) -> a__U61(a__U62(mark(X147), X244), X2, X3) [2] mark(U61(isNat(X100), X2, X3)) -> a__U61(a__isNat(X100), X2, X3) [2] mark(U61(length(X101), X2, X3)) -> a__U61(a__length(mark(X101)), X2, X3) [2] mark(U61(cons(X148, X245), X2, X3)) -> a__U61(cons(mark(X148), X245), X2, X3) [2] mark(U61(0, X2, X3)) -> a__U61(0, X2, X3) [2] mark(U61(tt, X2, X3)) -> a__U61(tt, X2, X3) [2] mark(U61(s(X102), X2, X3)) -> a__U61(s(mark(X102)), X2, X3) [2] mark(U61(nil, X2, X3)) -> a__U61(nil, X2, X3) [2] mark(U62(zeros, X2)) -> a__U62(a__zeros, X2) [2] mark(U62(U11(X103), X2)) -> a__U62(a__U11(mark(X103)), X2) [2] mark(U62(U21(X104), X2)) -> a__U62(a__U21(mark(X104)), X2) [2] mark(U62(U31(X105), X2)) -> a__U62(a__U31(mark(X105)), X2) [2] mark(U62(U41(X149, X246), X2)) -> a__U62(a__U41(mark(X149), X246), X2) [2] mark(U62(U42(X106), X2)) -> a__U62(a__U42(mark(X106)), X2) [2] mark(U62(isNatIList(X107), X2)) -> a__U62(a__isNatIList(X107), X2) [2] mark(U62(U51(X150, X247), X2)) -> a__U62(a__U51(mark(X150), X247), X2) [2] mark(U62(U52(X108), X2)) -> a__U62(a__U52(mark(X108)), X2) [2] mark(U62(isNatList(X109), X2)) -> a__U62(a__isNatList(X109), X2) [2] mark(U62(U61(X151, X248, X317), X2)) -> a__U62(a__U61(mark(X151), X248, X317), X2) [2] mark(U62(U62(X152, X249), X2)) -> a__U62(a__U62(mark(X152), X249), X2) [2] mark(U62(isNat(X153), X2)) -> a__U62(a__isNat(X153), X2) [2] mark(U62(length(X154), X2)) -> a__U62(a__length(mark(X154)), X2) [2] mark(U62(cons(X155, X250), X2)) -> a__U62(cons(mark(X155), X250), X2) [2] mark(U62(0, X2)) -> a__U62(0, X2) [2] mark(U62(tt, X2)) -> a__U62(tt, X2) [2] mark(U62(s(X156), X2)) -> a__U62(s(mark(X156)), X2) [2] mark(U62(nil, X2)) -> a__U62(nil, X2) [2] mark(isNat(X)) -> a__isNat(X) [1] mark(length(zeros)) -> a__length(a__zeros) [2] mark(length(U11(X157))) -> a__length(a__U11(mark(X157))) [2] mark(length(U21(X158))) -> a__length(a__U21(mark(X158))) [2] mark(length(U31(X159))) -> a__length(a__U31(mark(X159))) [2] mark(length(U41(X160, X251))) -> a__length(a__U41(mark(X160), X251)) [2] mark(length(U42(X161))) -> a__length(a__U42(mark(X161))) [2] mark(length(isNatIList(X162))) -> a__length(a__isNatIList(X162)) [2] mark(length(U51(X163, X252))) -> a__length(a__U51(mark(X163), X252)) [2] mark(length(U52(X164))) -> a__length(a__U52(mark(X164))) [2] mark(length(isNatList(X165))) -> a__length(a__isNatList(X165)) [2] mark(length(U61(X166, X253, X318))) -> a__length(a__U61(mark(X166), X253, X318)) [2] mark(length(U62(X167, X254))) -> a__length(a__U62(mark(X167), X254)) [2] mark(length(isNat(X168))) -> a__length(a__isNat(X168)) [2] mark(length(length(X169))) -> a__length(a__length(mark(X169))) [2] mark(length(cons(X170, X255))) -> a__length(cons(mark(X170), X255)) [2] mark(length(0)) -> a__length(0) [2] mark(length(tt)) -> a__length(tt) [2] mark(length(s(X171))) -> a__length(s(mark(X171))) [2] mark(length(nil)) -> a__length(nil) [2] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(0) -> 0 [1] mark(tt) -> tt [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] a__zeros -> zeros [1] a__U11(X) -> U11(X) [1] a__U21(X) -> U21(X) [1] a__U31(X) -> U31(X) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__U42(X) -> U42(X) [1] a__isNatIList(X) -> isNatIList(X) [1] a__U51(X1, X2) -> U51(X1, X2) [1] a__U52(X) -> U52(X) [1] a__isNatList(X) -> isNatList(X) [1] a__U61(X1, X2, X3) -> U61(X1, X2, X3) [1] a__U62(X1, X2) -> U62(X1, X2) [1] a__isNat(X) -> isNat(X) [1] a__length(X) -> length(X) [1] The TRS has the following type information: a__zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat cons :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat 0 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat tt :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat s :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat mark :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat nil :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat Rewrite Strategy: INNERMOST ---------------------------------------- (25) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 zeros => 3 tt => 2 nil => 1 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: a__U11(z) -{ 1 }-> 2 :|: z = 2 a__U11(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U21(z) -{ 1 }-> 2 :|: z = 2 a__U21(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U31(z) -{ 1 }-> 2 :|: z = 2 a__U31(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U41(z, z') -{ 2 }-> a__U42(a__U41(a__isNat(V1'), V2')) :|: z = 2, z' = 1 + V1' + V2', V2' >= 0, V1' >= 0 a__U41(z, z') -{ 2 }-> a__U42(a__U31(a__isNatList(V2))) :|: z = 2, z' = V2, V2 >= 0 a__U41(z, z') -{ 2 }-> a__U42(2) :|: z = 2, z' = 3 a__U41(z, z') -{ 2 }-> a__U42(1 + V2) :|: z = 2, z' = V2, V2 >= 0 a__U41(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U42(z) -{ 1 }-> 2 :|: z = 2 a__U42(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U51(z, z') -{ 2 }-> a__U52(a__U51(a__isNat(V1''), V2'')) :|: z = 2, V1'' >= 0, V2'' >= 0, z' = 1 + V1'' + V2'' a__U51(z, z') -{ 2 }-> a__U52(2) :|: z = 2, z' = 1 a__U51(z, z') -{ 2 }-> a__U52(1 + V2) :|: z = 2, z' = V2, V2 >= 0 a__U51(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U52(z) -{ 1 }-> 2 :|: z = 2 a__U52(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U61(z, z', z'') -{ 2 }-> a__U62(a__U21(a__isNat(V12)), L) :|: z = 2, z'' = 1 + V12, V12 >= 0, L >= 0, z' = L a__U61(z, z', z'') -{ 2 }-> a__U62(a__U11(a__isNatList(V11)), L) :|: z = 2, z'' = 1 + V11, V11 >= 0, L >= 0, z' = L a__U61(z, z', z'') -{ 2 }-> a__U62(2, L) :|: z = 2, z'' = 0, L >= 0, z' = L a__U61(z, z', z'') -{ 2 }-> a__U62(1 + N, L) :|: z = 2, L >= 0, z'' = N, z' = L, N >= 0 a__U61(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U62(z, z') -{ 2 }-> 1 + a__length(a__zeros) :|: z = 2, z' = 3 a__U62(z, z') -{ 2 }-> 1 + a__length(a__length(mark(X10))) :|: z = 2, z' = 1 + X10, X10 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNatList(X8)) :|: z = 2, X8 >= 0, z' = 1 + X8 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNatIList(X6)) :|: z = 2, X6 >= 0, z' = 1 + X6 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNat(X9)) :|: z = 2, X9 >= 0, z' = 1 + X9 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U62(mark(X12), X22)) :|: z = 2, z' = 1 + X12 + X22, X12 >= 0, X22 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U61(mark(X11), X21, X3')) :|: z = 2, X3' >= 0, z' = 1 + X11 + X21 + X3', X11 >= 0, X21 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U52(mark(X7))) :|: z = 2, X7 >= 0, z' = 1 + X7 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U51(mark(X1''), X2'')) :|: z = 2, z' = 1 + X1'' + X2'', X1'' >= 0, X2'' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U42(mark(X5))) :|: z = 2, X5 >= 0, z' = 1 + X5 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U41(mark(X1'), X2')) :|: z = 2, z' = 1 + X1' + X2', X2' >= 0, X1' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U31(mark(X4))) :|: z = 2, z' = 1 + X4, X4 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U21(mark(X''))) :|: z = 2, z' = 1 + X'', X'' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U11(mark(X'))) :|: z = 2, X' >= 0, z' = 1 + X' a__U62(z, z') -{ 2 }-> 1 + a__length(2) :|: z = 2, z' = 2 a__U62(z, z') -{ 2 }-> 1 + a__length(1) :|: z = 2, z' = 1 a__U62(z, z') -{ 2 }-> 1 + a__length(0) :|: z = 2, z' = 0 a__U62(z, z') -{ 2 }-> 1 + a__length(1 + mark(X14)) :|: z = 2, z' = 1 + X14, X14 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(1 + mark(X13) + X23) :|: z = 2, X13 >= 0, X23 >= 0, z' = 1 + X13 + X23 a__U62(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__isNat(z) -{ 2 }-> a__U21(a__U21(a__isNat(V15))) :|: z = 1 + (1 + V15), V15 >= 0 a__isNat(z) -{ 2 }-> a__U21(a__U11(a__isNatList(V14))) :|: V14 >= 0, z = 1 + (1 + V14) a__isNat(z) -{ 2 }-> a__U21(2) :|: z = 1 + 0 a__isNat(z) -{ 2 }-> a__U21(1 + V1) :|: z = 1 + V1, V1 >= 0 a__isNat(z) -{ 2 }-> a__U11(a__U51(a__isNat(V13), V21)) :|: z = 1 + (1 + V13 + V21), V21 >= 0, V13 >= 0 a__isNat(z) -{ 2 }-> a__U11(2) :|: z = 1 + 1 a__isNat(z) -{ 2 }-> a__U11(1 + V1) :|: z = 1 + V1, V1 >= 0 a__isNat(z) -{ 1 }-> 2 :|: z = 0 a__isNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatIList(z) -{ 2 }-> a__U41(a__U21(a__isNat(V18)), V2) :|: V18 >= 0, z = 1 + (1 + V18) + V2, V2 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(a__U11(a__isNatList(V17)), V2) :|: z = 1 + (1 + V17) + V2, V2 >= 0, V17 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(2, V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isNatIList(z) -{ 2 }-> a__U41(1 + V1, V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatIList(z) -{ 2 }-> a__U31(a__U51(a__isNat(V16), V22)) :|: z = 1 + V16 + V22, V22 >= 0, V16 >= 0 a__isNatIList(z) -{ 2 }-> a__U31(2) :|: z = 1 a__isNatIList(z) -{ 2 }-> a__U31(1 + V) :|: z = V, V >= 0 a__isNatIList(z) -{ 1 }-> 2 :|: z = 3 a__isNatIList(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatList(z) -{ 2 }-> a__U51(a__U21(a__isNat(V110)), V2) :|: V110 >= 0, V2 >= 0, z = 1 + (1 + V110) + V2 a__isNatList(z) -{ 2 }-> a__U51(a__U11(a__isNatList(V19)), V2) :|: V19 >= 0, V2 >= 0, z = 1 + (1 + V19) + V2 a__isNatList(z) -{ 2 }-> a__U51(2, V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isNatList(z) -{ 2 }-> a__U51(1 + V1, V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatList(z) -{ 1 }-> 2 :|: z = 1 a__isNatList(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__length(z) -{ 2 }-> a__U61(a__U51(a__isNat(V111), V23), 1 + V111 + V23, N) :|: V23 >= 0, z = 1 + N + (1 + V111 + V23), V111 >= 0, N >= 0 a__length(z) -{ 2 }-> a__U61(2, 1, N) :|: z = 1 + N + 1, N >= 0 a__length(z) -{ 2 }-> a__U61(1 + L, L, N) :|: z = 1 + N + L, L >= 0, N >= 0 a__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__zeros -{ 1 }-> 3 :|: a__zeros -{ 1 }-> 1 + 0 + 3 :|: mark(z) -{ 1 }-> a__zeros :|: z = 3 mark(z) -{ 2 }-> a__length(a__zeros) :|: z = 1 + 3 mark(z) -{ 2 }-> a__length(a__length(mark(X169))) :|: z = 1 + (1 + X169), X169 >= 0 mark(z) -{ 2 }-> a__length(a__isNatList(X165)) :|: X165 >= 0, z = 1 + (1 + X165) mark(z) -{ 2 }-> a__length(a__isNatIList(X162)) :|: X162 >= 0, z = 1 + (1 + X162) mark(z) -{ 2 }-> a__length(a__isNat(X168)) :|: X168 >= 0, z = 1 + (1 + X168) mark(z) -{ 2 }-> a__length(a__U62(mark(X167), X254)) :|: z = 1 + (1 + X167 + X254), X254 >= 0, X167 >= 0 mark(z) -{ 2 }-> a__length(a__U61(mark(X166), X253, X318)) :|: X166 >= 0, z = 1 + (1 + X166 + X253 + X318), X253 >= 0, X318 >= 0 mark(z) -{ 2 }-> a__length(a__U52(mark(X164))) :|: X164 >= 0, z = 1 + (1 + X164) mark(z) -{ 2 }-> a__length(a__U51(mark(X163), X252)) :|: X163 >= 0, z = 1 + (1 + X163 + X252), X252 >= 0 mark(z) -{ 2 }-> a__length(a__U42(mark(X161))) :|: z = 1 + (1 + X161), X161 >= 0 mark(z) -{ 2 }-> a__length(a__U41(mark(X160), X251)) :|: X251 >= 0, z = 1 + (1 + X160 + X251), X160 >= 0 mark(z) -{ 2 }-> a__length(a__U31(mark(X159))) :|: z = 1 + (1 + X159), X159 >= 0 mark(z) -{ 2 }-> a__length(a__U21(mark(X158))) :|: X158 >= 0, z = 1 + (1 + X158) mark(z) -{ 2 }-> a__length(a__U11(mark(X157))) :|: z = 1 + (1 + X157), X157 >= 0 mark(z) -{ 2 }-> a__length(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__length(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__length(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__length(1 + mark(X171)) :|: z = 1 + (1 + X171), X171 >= 0 mark(z) -{ 2 }-> a__length(1 + mark(X170) + X255) :|: X255 >= 0, z = 1 + (1 + X170 + X255), X170 >= 0 mark(z) -{ 1 }-> a__isNatList(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNatIList(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> a__U62(a__zeros, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U62(a__length(mark(X154)), X2) :|: X154 >= 0, z = 1 + (1 + X154) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__isNatList(X109), X2) :|: X2 >= 0, z = 1 + (1 + X109) + X2, X109 >= 0 mark(z) -{ 2 }-> a__U62(a__isNatIList(X107), X2) :|: X107 >= 0, z = 1 + (1 + X107) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__isNat(X153), X2) :|: z = 1 + (1 + X153) + X2, X153 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U62(mark(X152), X249), X2) :|: X152 >= 0, z = 1 + (1 + X152 + X249) + X2, X249 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U61(mark(X151), X248, X317), X2) :|: X248 >= 0, z = 1 + (1 + X151 + X248 + X317) + X2, X2 >= 0, X317 >= 0, X151 >= 0 mark(z) -{ 2 }-> a__U62(a__U52(mark(X108)), X2) :|: z = 1 + (1 + X108) + X2, X2 >= 0, X108 >= 0 mark(z) -{ 2 }-> a__U62(a__U51(mark(X150), X247), X2) :|: z = 1 + (1 + X150 + X247) + X2, X150 >= 0, X247 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U42(mark(X106)), X2) :|: X106 >= 0, z = 1 + (1 + X106) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U41(mark(X149), X246), X2) :|: X149 >= 0, X246 >= 0, z = 1 + (1 + X149 + X246) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U31(mark(X105)), X2) :|: X105 >= 0, z = 1 + (1 + X105) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U21(mark(X104)), X2) :|: X104 >= 0, z = 1 + (1 + X104) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U11(mark(X103)), X2) :|: X103 >= 0, z = 1 + (1 + X103) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(2, X2) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1, X2) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(0, X2) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1 + mark(X156), X2) :|: X156 >= 0, z = 1 + (1 + X156) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1 + mark(X155) + X250, X2) :|: X155 >= 0, X2 >= 0, z = 1 + (1 + X155 + X250) + X2, X250 >= 0 mark(z) -{ 2 }-> a__U61(a__zeros, X2, X3) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__length(mark(X101)), X2, X3) :|: X3 >= 0, X2 >= 0, z = 1 + (1 + X101) + X2 + X3, X101 >= 0 mark(z) -{ 2 }-> a__U61(a__isNatList(X99), X2, X3) :|: X99 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X99) + X2 + X3 mark(z) -{ 2 }-> a__U61(a__isNatIList(X97), X2, X3) :|: z = 1 + (1 + X97) + X2 + X3, X97 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__isNat(X100), X2, X3) :|: z = 1 + (1 + X100) + X2 + X3, X3 >= 0, X2 >= 0, X100 >= 0 mark(z) -{ 2 }-> a__U61(a__U62(mark(X147), X244), X2, X3) :|: X244 >= 0, z = 1 + (1 + X147 + X244) + X2 + X3, X147 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U61(mark(X146), X243, X316), X2, X3) :|: X146 >= 0, X243 >= 0, X3 >= 0, z = 1 + (1 + X146 + X243 + X316) + X2 + X3, X2 >= 0, X316 >= 0 mark(z) -{ 2 }-> a__U61(a__U52(mark(X98)), X2, X3) :|: z = 1 + (1 + X98) + X2 + X3, X98 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U51(mark(X145), X242), X2, X3) :|: z = 1 + (1 + X145 + X242) + X2 + X3, X145 >= 0, X242 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U42(mark(X96)), X2, X3) :|: X96 >= 0, z = 1 + (1 + X96) + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U41(mark(X144), X241), X2, X3) :|: X144 >= 0, z = 1 + (1 + X144 + X241) + X2 + X3, X3 >= 0, X241 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U31(mark(X95)), X2, X3) :|: X95 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X95) + X2 + X3 mark(z) -{ 2 }-> a__U61(a__U21(mark(X94)), X2, X3) :|: z = 1 + (1 + X94) + X2 + X3, X3 >= 0, X2 >= 0, X94 >= 0 mark(z) -{ 2 }-> a__U61(a__U11(mark(X93)), X2, X3) :|: z = 1 + (1 + X93) + X2 + X3, X3 >= 0, X2 >= 0, X93 >= 0 mark(z) -{ 2 }-> a__U61(2, X2, X3) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(1, X2, X3) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(0, X2, X3) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(1 + mark(X102), X2, X3) :|: z = 1 + (1 + X102) + X2 + X3, X3 >= 0, X2 >= 0, X102 >= 0 mark(z) -{ 2 }-> a__U61(1 + mark(X148) + X245, X2, X3) :|: X245 >= 0, X3 >= 0, z = 1 + (1 + X148 + X245) + X2 + X3, X148 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U52(a__zeros) :|: z = 1 + 3 mark(z) -{ 2 }-> a__U52(a__length(mark(X91))) :|: X91 >= 0, z = 1 + (1 + X91) mark(z) -{ 2 }-> a__U52(a__isNatList(X89)) :|: X89 >= 0, z = 1 + (1 + X89) mark(z) -{ 2 }-> a__U52(a__isNatIList(X87)) :|: X87 >= 0, z = 1 + (1 + X87) mark(z) -{ 2 }-> a__U52(a__isNat(X90)) :|: z = 1 + (1 + X90), X90 >= 0 mark(z) -{ 2 }-> a__U52(a__U62(mark(X142), X239)) :|: X239 >= 0, X142 >= 0, z = 1 + (1 + X142 + X239) mark(z) -{ 2 }-> a__U52(a__U61(mark(X141), X238, X315)) :|: X315 >= 0, X238 >= 0, z = 1 + (1 + X141 + X238 + X315), X141 >= 0 mark(z) -{ 2 }-> a__U52(a__U52(mark(X88))) :|: X88 >= 0, z = 1 + (1 + X88) mark(z) -{ 2 }-> a__U52(a__U51(mark(X140), X237)) :|: z = 1 + (1 + X140 + X237), X140 >= 0, X237 >= 0 mark(z) -{ 2 }-> a__U52(a__U42(mark(X86))) :|: z = 1 + (1 + X86), X86 >= 0 mark(z) -{ 2 }-> a__U52(a__U41(mark(X139), X236)) :|: z = 1 + (1 + X139 + X236), X236 >= 0, X139 >= 0 mark(z) -{ 2 }-> a__U52(a__U31(mark(X85))) :|: z = 1 + (1 + X85), X85 >= 0 mark(z) -{ 2 }-> a__U52(a__U21(mark(X84))) :|: z = 1 + (1 + X84), X84 >= 0 mark(z) -{ 2 }-> a__U52(a__U11(mark(X83))) :|: z = 1 + (1 + X83), X83 >= 0 mark(z) -{ 2 }-> a__U52(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__U52(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__U52(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__U52(1 + mark(X92)) :|: X92 >= 0, z = 1 + (1 + X92) mark(z) -{ 2 }-> a__U52(1 + mark(X143) + X240) :|: X240 >= 0, X143 >= 0, z = 1 + (1 + X143 + X240) mark(z) -{ 2 }-> a__U51(a__zeros, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U51(a__length(mark(X81)), X2) :|: X81 >= 0, z = 1 + (1 + X81) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNatList(X79), X2) :|: z = 1 + (1 + X79) + X2, X79 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNatIList(X77), X2) :|: z = 1 + (1 + X77) + X2, X77 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNat(X80), X2) :|: X80 >= 0, X2 >= 0, z = 1 + (1 + X80) + X2 mark(z) -{ 2 }-> a__U51(a__U62(mark(X137), X234), X2) :|: z = 1 + (1 + X137 + X234) + X2, X234 >= 0, X137 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U61(mark(X136), X233, X314), X2) :|: X136 >= 0, X233 >= 0, z = 1 + (1 + X136 + X233 + X314) + X2, X314 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U52(mark(X78)), X2) :|: X78 >= 0, z = 1 + (1 + X78) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U51(mark(X135), X232), X2) :|: X135 >= 0, z = 1 + (1 + X135 + X232) + X2, X232 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U42(mark(X76)), X2) :|: X76 >= 0, X2 >= 0, z = 1 + (1 + X76) + X2 mark(z) -{ 2 }-> a__U51(a__U41(mark(X134), X231), X2) :|: z = 1 + (1 + X134 + X231) + X2, X134 >= 0, X231 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U31(mark(X75)), X2) :|: X75 >= 0, z = 1 + (1 + X75) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U21(mark(X74)), X2) :|: z = 1 + (1 + X74) + X2, X2 >= 0, X74 >= 0 mark(z) -{ 2 }-> a__U51(a__U11(mark(X73)), X2) :|: X73 >= 0, z = 1 + (1 + X73) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(2, X2) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1, X2) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(0, X2) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1 + mark(X82), X2) :|: X82 >= 0, z = 1 + (1 + X82) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1 + mark(X138) + X235, X2) :|: z = 1 + (1 + X138 + X235) + X2, X235 >= 0, X2 >= 0, X138 >= 0 mark(z) -{ 2 }-> a__U42(a__zeros) :|: z = 1 + 3 mark(z) -{ 2 }-> a__U42(a__length(mark(X71))) :|: X71 >= 0, z = 1 + (1 + X71) mark(z) -{ 2 }-> a__U42(a__isNatList(X69)) :|: z = 1 + (1 + X69), X69 >= 0 mark(z) -{ 2 }-> a__U42(a__isNatIList(X67)) :|: X67 >= 0, z = 1 + (1 + X67) mark(z) -{ 2 }-> a__U42(a__isNat(X70)) :|: X70 >= 0, z = 1 + (1 + X70) mark(z) -{ 2 }-> a__U42(a__U62(mark(X132), X229)) :|: X229 >= 0, z = 1 + (1 + X132 + X229), X132 >= 0 mark(z) -{ 2 }-> a__U42(a__U61(mark(X131), X228, X313)) :|: z = 1 + (1 + X131 + X228 + X313), X313 >= 0, X228 >= 0, X131 >= 0 mark(z) -{ 2 }-> a__U42(a__U52(mark(X68))) :|: z = 1 + (1 + X68), X68 >= 0 mark(z) -{ 2 }-> a__U42(a__U51(mark(X130), X227)) :|: z = 1 + (1 + X130 + X227), X227 >= 0, X130 >= 0 mark(z) -{ 2 }-> a__U42(a__U42(mark(X66))) :|: z = 1 + (1 + X66), X66 >= 0 mark(z) -{ 2 }-> a__U42(a__U41(mark(X129), X226)) :|: X129 >= 0, X226 >= 0, z = 1 + (1 + X129 + X226) mark(z) -{ 2 }-> a__U42(a__U31(mark(X65))) :|: z = 1 + (1 + X65), X65 >= 0 mark(z) -{ 2 }-> a__U42(a__U21(mark(X64))) :|: z = 1 + (1 + X64), X64 >= 0 mark(z) -{ 2 }-> a__U42(a__U11(mark(X63))) :|: z = 1 + (1 + X63), X63 >= 0 mark(z) -{ 2 }-> a__U42(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__U42(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__U42(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__U42(1 + mark(X72)) :|: X72 >= 0, z = 1 + (1 + X72) mark(z) -{ 2 }-> a__U42(1 + mark(X133) + X230) :|: X133 >= 0, z = 1 + (1 + X133 + X230), X230 >= 0 mark(z) -{ 2 }-> a__U41(a__zeros, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U41(a__length(mark(X61)), X2) :|: X61 >= 0, z = 1 + (1 + X61) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNatList(X59), X2) :|: z = 1 + (1 + X59) + X2, X59 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNatIList(X57), X2) :|: X57 >= 0, z = 1 + (1 + X57) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNat(X60), X2) :|: X60 >= 0, X2 >= 0, z = 1 + (1 + X60) + X2 mark(z) -{ 2 }-> a__U41(a__U62(mark(X127), X224), X2) :|: X224 >= 0, z = 1 + (1 + X127 + X224) + X2, X127 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U61(mark(X126), X223, X312), X2) :|: X223 >= 0, z = 1 + (1 + X126 + X223 + X312) + X2, X312 >= 0, X126 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U52(mark(X58)), X2) :|: z = 1 + (1 + X58) + X2, X58 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U51(mark(X125), X222), X2) :|: X222 >= 0, z = 1 + (1 + X125 + X222) + X2, X125 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U42(mark(X56)), X2) :|: z = 1 + (1 + X56) + X2, X56 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U41(mark(X124), X221), X2) :|: X124 >= 0, z = 1 + (1 + X124 + X221) + X2, X221 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U31(mark(X55)), X2) :|: X2 >= 0, z = 1 + (1 + X55) + X2, X55 >= 0 mark(z) -{ 2 }-> a__U41(a__U21(mark(X54)), X2) :|: z = 1 + (1 + X54) + X2, X2 >= 0, X54 >= 0 mark(z) -{ 2 }-> a__U41(a__U11(mark(X53)), X2) :|: z = 1 + (1 + X53) + X2, X2 >= 0, X53 >= 0 mark(z) -{ 2 }-> a__U41(2, X2) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(1, X2) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(0, X2) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(1 + mark(X62), X2) :|: z = 1 + (1 + X62) + X2, X62 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(1 + mark(X128) + X225, X2) :|: X128 >= 0, X225 >= 0, z = 1 + (1 + X128 + X225) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U31(a__zeros) :|: z = 1 + 3 mark(z) -{ 2 }-> a__U31(a__length(mark(X51))) :|: X51 >= 0, z = 1 + (1 + X51) mark(z) -{ 2 }-> a__U31(a__isNatList(X49)) :|: z = 1 + (1 + X49), X49 >= 0 mark(z) -{ 2 }-> a__U31(a__isNatIList(X47)) :|: X47 >= 0, z = 1 + (1 + X47) mark(z) -{ 2 }-> a__U31(a__isNat(X50)) :|: X50 >= 0, z = 1 + (1 + X50) mark(z) -{ 2 }-> a__U31(a__U62(mark(X122), X219)) :|: z = 1 + (1 + X122 + X219), X122 >= 0, X219 >= 0 mark(z) -{ 2 }-> a__U31(a__U61(mark(X121), X218, X311)) :|: X311 >= 0, z = 1 + (1 + X121 + X218 + X311), X218 >= 0, X121 >= 0 mark(z) -{ 2 }-> a__U31(a__U52(mark(X48))) :|: z = 1 + (1 + X48), X48 >= 0 mark(z) -{ 2 }-> a__U31(a__U51(mark(X120), X217)) :|: X120 >= 0, z = 1 + (1 + X120 + X217), X217 >= 0 mark(z) -{ 2 }-> a__U31(a__U42(mark(X46))) :|: X46 >= 0, z = 1 + (1 + X46) mark(z) -{ 2 }-> a__U31(a__U41(mark(X119), X216)) :|: X216 >= 0, z = 1 + (1 + X119 + X216), X119 >= 0 mark(z) -{ 2 }-> a__U31(a__U31(mark(X45))) :|: X45 >= 0, z = 1 + (1 + X45) mark(z) -{ 2 }-> a__U31(a__U21(mark(X44))) :|: z = 1 + (1 + X44), X44 >= 0 mark(z) -{ 2 }-> a__U31(a__U11(mark(X43))) :|: X43 >= 0, z = 1 + (1 + X43) mark(z) -{ 2 }-> a__U31(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__U31(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__U31(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__U31(1 + mark(X52)) :|: z = 1 + (1 + X52), X52 >= 0 mark(z) -{ 2 }-> a__U31(1 + mark(X123) + X220) :|: z = 1 + (1 + X123 + X220), X123 >= 0, X220 >= 0 mark(z) -{ 2 }-> a__U21(a__zeros) :|: z = 1 + 3 mark(z) -{ 2 }-> a__U21(a__length(mark(X41))) :|: X41 >= 0, z = 1 + (1 + X41) mark(z) -{ 2 }-> a__U21(a__isNatList(X39)) :|: z = 1 + (1 + X39), X39 >= 0 mark(z) -{ 2 }-> a__U21(a__isNatIList(X37)) :|: X37 >= 0, z = 1 + (1 + X37) mark(z) -{ 2 }-> a__U21(a__isNat(X40)) :|: z = 1 + (1 + X40), X40 >= 0 mark(z) -{ 2 }-> a__U21(a__U62(mark(X117), X214)) :|: z = 1 + (1 + X117 + X214), X117 >= 0, X214 >= 0 mark(z) -{ 2 }-> a__U21(a__U61(mark(X116), X213, X310)) :|: X213 >= 0, z = 1 + (1 + X116 + X213 + X310), X116 >= 0, X310 >= 0 mark(z) -{ 2 }-> a__U21(a__U52(mark(X38))) :|: X38 >= 0, z = 1 + (1 + X38) mark(z) -{ 2 }-> a__U21(a__U51(mark(X115), X212)) :|: X212 >= 0, z = 1 + (1 + X115 + X212), X115 >= 0 mark(z) -{ 2 }-> a__U21(a__U42(mark(X36))) :|: X36 >= 0, z = 1 + (1 + X36) mark(z) -{ 2 }-> a__U21(a__U41(mark(X114), X211)) :|: X114 >= 0, z = 1 + (1 + X114 + X211), X211 >= 0 mark(z) -{ 2 }-> a__U21(a__U31(mark(X35))) :|: z = 1 + (1 + X35), X35 >= 0 mark(z) -{ 2 }-> a__U21(a__U21(mark(X34))) :|: z = 1 + (1 + X34), X34 >= 0 mark(z) -{ 2 }-> a__U21(a__U11(mark(X33))) :|: X33 >= 0, z = 1 + (1 + X33) mark(z) -{ 2 }-> a__U21(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__U21(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__U21(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__U21(1 + mark(X42)) :|: X42 >= 0, z = 1 + (1 + X42) mark(z) -{ 2 }-> a__U21(1 + mark(X118) + X215) :|: X118 >= 0, X215 >= 0, z = 1 + (1 + X118 + X215) mark(z) -{ 2 }-> a__U11(a__zeros) :|: z = 1 + 3 mark(z) -{ 2 }-> a__U11(a__length(mark(X31))) :|: X31 >= 0, z = 1 + (1 + X31) mark(z) -{ 2 }-> a__U11(a__isNatList(X27)) :|: X27 >= 0, z = 1 + (1 + X27) mark(z) -{ 2 }-> a__U11(a__isNatIList(X20)) :|: z = 1 + (1 + X20), X20 >= 0 mark(z) -{ 2 }-> a__U11(a__isNat(X30)) :|: z = 1 + (1 + X30), X30 >= 0 mark(z) -{ 2 }-> a__U11(a__U62(mark(X112), X29)) :|: z = 1 + (1 + X112 + X29), X29 >= 0, X112 >= 0 mark(z) -{ 2 }-> a__U11(a__U61(mark(X111), X28, X3'')) :|: X28 >= 0, X3'' >= 0, z = 1 + (1 + X111 + X28 + X3''), X111 >= 0 mark(z) -{ 2 }-> a__U11(a__U52(mark(X26))) :|: X26 >= 0, z = 1 + (1 + X26) mark(z) -{ 2 }-> a__U11(a__U51(mark(X110), X25)) :|: X110 >= 0, z = 1 + (1 + X110 + X25), X25 >= 0 mark(z) -{ 2 }-> a__U11(a__U42(mark(X19))) :|: X19 >= 0, z = 1 + (1 + X19) mark(z) -{ 2 }-> a__U11(a__U41(mark(X18), X24)) :|: X18 >= 0, z = 1 + (1 + X18 + X24), X24 >= 0 mark(z) -{ 2 }-> a__U11(a__U31(mark(X17))) :|: X17 >= 0, z = 1 + (1 + X17) mark(z) -{ 2 }-> a__U11(a__U21(mark(X16))) :|: X16 >= 0, z = 1 + (1 + X16) mark(z) -{ 2 }-> a__U11(a__U11(mark(X15))) :|: z = 1 + (1 + X15), X15 >= 0 mark(z) -{ 2 }-> a__U11(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__U11(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__U11(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__U11(1 + mark(X32)) :|: X32 >= 0, z = 1 + (1 + X32) mark(z) -{ 2 }-> a__U11(1 + mark(X113) + X210) :|: X113 >= 0, z = 1 + (1 + X113 + X210), X210 >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 ---------------------------------------- (27) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: a__zeros -{ 1 }-> 3 :|: a__zeros -{ 1 }-> 1 + 0 + 3 :|: a__U11(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U11(z) -{ 1 }-> 2 :|: z = 2 a__U21(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U21(z) -{ 1 }-> 2 :|: z = 2 a__U31(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U31(z) -{ 1 }-> 2 :|: z = 2 a__U42(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U42(z) -{ 1 }-> 2 :|: z = 2 a__U52(z) -{ 1 }-> 2 :|: z = 2 a__U52(z) -{ 1 }-> 1 + X :|: X >= 0, z = X ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: a__U11(z) -{ 1 }-> 2 :|: z = 2 a__U11(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U21(z) -{ 1 }-> 2 :|: z = 2 a__U21(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U31(z) -{ 1 }-> 2 :|: z = 2 a__U31(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U41(z, z') -{ 2 }-> a__U42(a__U41(a__isNat(V1'), V2')) :|: z = 2, z' = 1 + V1' + V2', V2' >= 0, V1' >= 0 a__U41(z, z') -{ 2 }-> a__U42(a__U31(a__isNatList(V2))) :|: z = 2, z' = V2, V2 >= 0 a__U41(z, z') -{ 3 }-> 2 :|: z = 2, z' = 3, 2 = 2 a__U41(z, z') -{ 3 }-> 2 :|: z = 2, z' = V2, V2 >= 0, 1 + V2 = 2 a__U41(z, z') -{ 3 }-> 1 + X :|: z = 2, z' = 3, X >= 0, 2 = X a__U41(z, z') -{ 3 }-> 1 + X :|: z = 2, z' = V2, V2 >= 0, X >= 0, 1 + V2 = X a__U41(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U42(z) -{ 1 }-> 2 :|: z = 2 a__U42(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U51(z, z') -{ 2 }-> a__U52(a__U51(a__isNat(V1''), V2'')) :|: z = 2, V1'' >= 0, V2'' >= 0, z' = 1 + V1'' + V2'' a__U51(z, z') -{ 3 }-> 2 :|: z = 2, z' = 1, 2 = 2 a__U51(z, z') -{ 3 }-> 2 :|: z = 2, z' = V2, V2 >= 0, 1 + V2 = 2 a__U51(z, z') -{ 3 }-> 1 + X :|: z = 2, z' = 1, X >= 0, 2 = X a__U51(z, z') -{ 3 }-> 1 + X :|: z = 2, z' = V2, V2 >= 0, X >= 0, 1 + V2 = X a__U51(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U52(z) -{ 1 }-> 2 :|: z = 2 a__U52(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U61(z, z', z'') -{ 2 }-> a__U62(a__U21(a__isNat(V12)), L) :|: z = 2, z'' = 1 + V12, V12 >= 0, L >= 0, z' = L a__U61(z, z', z'') -{ 2 }-> a__U62(a__U11(a__isNatList(V11)), L) :|: z = 2, z'' = 1 + V11, V11 >= 0, L >= 0, z' = L a__U61(z, z', z'') -{ 2 }-> a__U62(2, L) :|: z = 2, z'' = 0, L >= 0, z' = L a__U61(z, z', z'') -{ 2 }-> a__U62(1 + N, L) :|: z = 2, L >= 0, z'' = N, z' = L, N >= 0 a__U61(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U62(z, z') -{ 2 }-> 1 + a__length(a__length(mark(X10))) :|: z = 2, z' = 1 + X10, X10 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNatList(X8)) :|: z = 2, X8 >= 0, z' = 1 + X8 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNatIList(X6)) :|: z = 2, X6 >= 0, z' = 1 + X6 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNat(X9)) :|: z = 2, X9 >= 0, z' = 1 + X9 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U62(mark(X12), X22)) :|: z = 2, z' = 1 + X12 + X22, X12 >= 0, X22 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U61(mark(X11), X21, X3')) :|: z = 2, X3' >= 0, z' = 1 + X11 + X21 + X3', X11 >= 0, X21 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U52(mark(X7))) :|: z = 2, X7 >= 0, z' = 1 + X7 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U51(mark(X1''), X2'')) :|: z = 2, z' = 1 + X1'' + X2'', X1'' >= 0, X2'' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U42(mark(X5))) :|: z = 2, X5 >= 0, z' = 1 + X5 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U41(mark(X1'), X2')) :|: z = 2, z' = 1 + X1' + X2', X2' >= 0, X1' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U31(mark(X4))) :|: z = 2, z' = 1 + X4, X4 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U21(mark(X''))) :|: z = 2, z' = 1 + X'', X'' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U11(mark(X'))) :|: z = 2, X' >= 0, z' = 1 + X' a__U62(z, z') -{ 3 }-> 1 + a__length(3) :|: z = 2, z' = 3 a__U62(z, z') -{ 2 }-> 1 + a__length(2) :|: z = 2, z' = 2 a__U62(z, z') -{ 2 }-> 1 + a__length(1) :|: z = 2, z' = 1 a__U62(z, z') -{ 2 }-> 1 + a__length(0) :|: z = 2, z' = 0 a__U62(z, z') -{ 2 }-> 1 + a__length(1 + mark(X14)) :|: z = 2, z' = 1 + X14, X14 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(1 + mark(X13) + X23) :|: z = 2, X13 >= 0, X23 >= 0, z' = 1 + X13 + X23 a__U62(z, z') -{ 3 }-> 1 + a__length(1 + 0 + 3) :|: z = 2, z' = 3 a__U62(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__isNat(z) -{ 2 }-> a__U21(a__U21(a__isNat(V15))) :|: z = 1 + (1 + V15), V15 >= 0 a__isNat(z) -{ 2 }-> a__U21(a__U11(a__isNatList(V14))) :|: V14 >= 0, z = 1 + (1 + V14) a__isNat(z) -{ 2 }-> a__U11(a__U51(a__isNat(V13), V21)) :|: z = 1 + (1 + V13 + V21), V21 >= 0, V13 >= 0 a__isNat(z) -{ 1 }-> 2 :|: z = 0 a__isNat(z) -{ 3 }-> 2 :|: z = 1 + 1, 2 = 2 a__isNat(z) -{ 3 }-> 2 :|: z = 1 + V1, V1 >= 0, 1 + V1 = 2 a__isNat(z) -{ 3 }-> 2 :|: z = 1 + 0, 2 = 2 a__isNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNat(z) -{ 3 }-> 1 + X :|: z = 1 + 1, X >= 0, 2 = X a__isNat(z) -{ 3 }-> 1 + X :|: z = 1 + V1, V1 >= 0, X >= 0, 1 + V1 = X a__isNat(z) -{ 3 }-> 1 + X :|: z = 1 + 0, X >= 0, 2 = X a__isNatIList(z) -{ 2 }-> a__U41(a__U21(a__isNat(V18)), V2) :|: V18 >= 0, z = 1 + (1 + V18) + V2, V2 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(a__U11(a__isNatList(V17)), V2) :|: z = 1 + (1 + V17) + V2, V2 >= 0, V17 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(2, V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isNatIList(z) -{ 2 }-> a__U41(1 + V1, V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatIList(z) -{ 2 }-> a__U31(a__U51(a__isNat(V16), V22)) :|: z = 1 + V16 + V22, V22 >= 0, V16 >= 0 a__isNatIList(z) -{ 1 }-> 2 :|: z = 3 a__isNatIList(z) -{ 3 }-> 2 :|: z = 1, 2 = 2 a__isNatIList(z) -{ 3 }-> 2 :|: z = V, V >= 0, 1 + V = 2 a__isNatIList(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatIList(z) -{ 3 }-> 1 + X :|: z = 1, X >= 0, 2 = X a__isNatIList(z) -{ 3 }-> 1 + X :|: z = V, V >= 0, X >= 0, 1 + V = X a__isNatList(z) -{ 2 }-> a__U51(a__U21(a__isNat(V110)), V2) :|: V110 >= 0, V2 >= 0, z = 1 + (1 + V110) + V2 a__isNatList(z) -{ 2 }-> a__U51(a__U11(a__isNatList(V19)), V2) :|: V19 >= 0, V2 >= 0, z = 1 + (1 + V19) + V2 a__isNatList(z) -{ 2 }-> a__U51(2, V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isNatList(z) -{ 2 }-> a__U51(1 + V1, V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatList(z) -{ 1 }-> 2 :|: z = 1 a__isNatList(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__length(z) -{ 2 }-> a__U61(a__U51(a__isNat(V111), V23), 1 + V111 + V23, N) :|: V23 >= 0, z = 1 + N + (1 + V111 + V23), V111 >= 0, N >= 0 a__length(z) -{ 2 }-> a__U61(2, 1, N) :|: z = 1 + N + 1, N >= 0 a__length(z) -{ 2 }-> a__U61(1 + L, L, N) :|: z = 1 + N + L, L >= 0, N >= 0 a__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__zeros -{ 1 }-> 3 :|: a__zeros -{ 1 }-> 1 + 0 + 3 :|: mark(z) -{ 2 }-> a__length(a__length(mark(X169))) :|: z = 1 + (1 + X169), X169 >= 0 mark(z) -{ 2 }-> a__length(a__isNatList(X165)) :|: X165 >= 0, z = 1 + (1 + X165) mark(z) -{ 2 }-> a__length(a__isNatIList(X162)) :|: X162 >= 0, z = 1 + (1 + X162) mark(z) -{ 2 }-> a__length(a__isNat(X168)) :|: X168 >= 0, z = 1 + (1 + X168) mark(z) -{ 2 }-> a__length(a__U62(mark(X167), X254)) :|: z = 1 + (1 + X167 + X254), X254 >= 0, X167 >= 0 mark(z) -{ 2 }-> a__length(a__U61(mark(X166), X253, X318)) :|: X166 >= 0, z = 1 + (1 + X166 + X253 + X318), X253 >= 0, X318 >= 0 mark(z) -{ 2 }-> a__length(a__U52(mark(X164))) :|: X164 >= 0, z = 1 + (1 + X164) mark(z) -{ 2 }-> a__length(a__U51(mark(X163), X252)) :|: X163 >= 0, z = 1 + (1 + X163 + X252), X252 >= 0 mark(z) -{ 2 }-> a__length(a__U42(mark(X161))) :|: z = 1 + (1 + X161), X161 >= 0 mark(z) -{ 2 }-> a__length(a__U41(mark(X160), X251)) :|: X251 >= 0, z = 1 + (1 + X160 + X251), X160 >= 0 mark(z) -{ 2 }-> a__length(a__U31(mark(X159))) :|: z = 1 + (1 + X159), X159 >= 0 mark(z) -{ 2 }-> a__length(a__U21(mark(X158))) :|: X158 >= 0, z = 1 + (1 + X158) mark(z) -{ 2 }-> a__length(a__U11(mark(X157))) :|: z = 1 + (1 + X157), X157 >= 0 mark(z) -{ 3 }-> a__length(3) :|: z = 1 + 3 mark(z) -{ 2 }-> a__length(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__length(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__length(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__length(1 + mark(X171)) :|: z = 1 + (1 + X171), X171 >= 0 mark(z) -{ 2 }-> a__length(1 + mark(X170) + X255) :|: X255 >= 0, z = 1 + (1 + X170 + X255), X170 >= 0 mark(z) -{ 3 }-> a__length(1 + 0 + 3) :|: z = 1 + 3 mark(z) -{ 1 }-> a__isNatList(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNatIList(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> a__U62(a__length(mark(X154)), X2) :|: X154 >= 0, z = 1 + (1 + X154) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__isNatList(X109), X2) :|: X2 >= 0, z = 1 + (1 + X109) + X2, X109 >= 0 mark(z) -{ 2 }-> a__U62(a__isNatIList(X107), X2) :|: X107 >= 0, z = 1 + (1 + X107) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__isNat(X153), X2) :|: z = 1 + (1 + X153) + X2, X153 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U62(mark(X152), X249), X2) :|: X152 >= 0, z = 1 + (1 + X152 + X249) + X2, X249 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U61(mark(X151), X248, X317), X2) :|: X248 >= 0, z = 1 + (1 + X151 + X248 + X317) + X2, X2 >= 0, X317 >= 0, X151 >= 0 mark(z) -{ 2 }-> a__U62(a__U52(mark(X108)), X2) :|: z = 1 + (1 + X108) + X2, X2 >= 0, X108 >= 0 mark(z) -{ 2 }-> a__U62(a__U51(mark(X150), X247), X2) :|: z = 1 + (1 + X150 + X247) + X2, X150 >= 0, X247 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U42(mark(X106)), X2) :|: X106 >= 0, z = 1 + (1 + X106) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U41(mark(X149), X246), X2) :|: X149 >= 0, X246 >= 0, z = 1 + (1 + X149 + X246) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U31(mark(X105)), X2) :|: X105 >= 0, z = 1 + (1 + X105) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U21(mark(X104)), X2) :|: X104 >= 0, z = 1 + (1 + X104) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U11(mark(X103)), X2) :|: X103 >= 0, z = 1 + (1 + X103) + X2, X2 >= 0 mark(z) -{ 3 }-> a__U62(3, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U62(2, X2) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1, X2) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(0, X2) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1 + mark(X156), X2) :|: X156 >= 0, z = 1 + (1 + X156) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1 + mark(X155) + X250, X2) :|: X155 >= 0, X2 >= 0, z = 1 + (1 + X155 + X250) + X2, X250 >= 0 mark(z) -{ 3 }-> a__U62(1 + 0 + 3, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U61(a__length(mark(X101)), X2, X3) :|: X3 >= 0, X2 >= 0, z = 1 + (1 + X101) + X2 + X3, X101 >= 0 mark(z) -{ 2 }-> a__U61(a__isNatList(X99), X2, X3) :|: X99 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X99) + X2 + X3 mark(z) -{ 2 }-> a__U61(a__isNatIList(X97), X2, X3) :|: z = 1 + (1 + X97) + X2 + X3, X97 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__isNat(X100), X2, X3) :|: z = 1 + (1 + X100) + X2 + X3, X3 >= 0, X2 >= 0, X100 >= 0 mark(z) -{ 2 }-> a__U61(a__U62(mark(X147), X244), X2, X3) :|: X244 >= 0, z = 1 + (1 + X147 + X244) + X2 + X3, X147 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U61(mark(X146), X243, X316), X2, X3) :|: X146 >= 0, X243 >= 0, X3 >= 0, z = 1 + (1 + X146 + X243 + X316) + X2 + X3, X2 >= 0, X316 >= 0 mark(z) -{ 2 }-> a__U61(a__U52(mark(X98)), X2, X3) :|: z = 1 + (1 + X98) + X2 + X3, X98 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U51(mark(X145), X242), X2, X3) :|: z = 1 + (1 + X145 + X242) + X2 + X3, X145 >= 0, X242 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U42(mark(X96)), X2, X3) :|: X96 >= 0, z = 1 + (1 + X96) + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U41(mark(X144), X241), X2, X3) :|: X144 >= 0, z = 1 + (1 + X144 + X241) + X2 + X3, X3 >= 0, X241 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U31(mark(X95)), X2, X3) :|: X95 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X95) + X2 + X3 mark(z) -{ 2 }-> a__U61(a__U21(mark(X94)), X2, X3) :|: z = 1 + (1 + X94) + X2 + X3, X3 >= 0, X2 >= 0, X94 >= 0 mark(z) -{ 2 }-> a__U61(a__U11(mark(X93)), X2, X3) :|: z = 1 + (1 + X93) + X2 + X3, X3 >= 0, X2 >= 0, X93 >= 0 mark(z) -{ 3 }-> a__U61(3, X2, X3) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(2, X2, X3) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(1, X2, X3) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(0, X2, X3) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(1 + mark(X102), X2, X3) :|: z = 1 + (1 + X102) + X2 + X3, X3 >= 0, X2 >= 0, X102 >= 0 mark(z) -{ 2 }-> a__U61(1 + mark(X148) + X245, X2, X3) :|: X245 >= 0, X3 >= 0, z = 1 + (1 + X148 + X245) + X2 + X3, X148 >= 0, X2 >= 0 mark(z) -{ 3 }-> a__U61(1 + 0 + 3, X2, X3) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U52(a__length(mark(X91))) :|: X91 >= 0, z = 1 + (1 + X91) mark(z) -{ 2 }-> a__U52(a__isNatList(X89)) :|: X89 >= 0, z = 1 + (1 + X89) mark(z) -{ 2 }-> a__U52(a__isNatIList(X87)) :|: X87 >= 0, z = 1 + (1 + X87) mark(z) -{ 2 }-> a__U52(a__isNat(X90)) :|: z = 1 + (1 + X90), X90 >= 0 mark(z) -{ 2 }-> a__U52(a__U62(mark(X142), X239)) :|: X239 >= 0, X142 >= 0, z = 1 + (1 + X142 + X239) mark(z) -{ 2 }-> a__U52(a__U61(mark(X141), X238, X315)) :|: X315 >= 0, X238 >= 0, z = 1 + (1 + X141 + X238 + X315), X141 >= 0 mark(z) -{ 2 }-> a__U52(a__U52(mark(X88))) :|: X88 >= 0, z = 1 + (1 + X88) mark(z) -{ 2 }-> a__U52(a__U51(mark(X140), X237)) :|: z = 1 + (1 + X140 + X237), X140 >= 0, X237 >= 0 mark(z) -{ 2 }-> a__U52(a__U42(mark(X86))) :|: z = 1 + (1 + X86), X86 >= 0 mark(z) -{ 2 }-> a__U52(a__U41(mark(X139), X236)) :|: z = 1 + (1 + X139 + X236), X236 >= 0, X139 >= 0 mark(z) -{ 2 }-> a__U52(a__U31(mark(X85))) :|: z = 1 + (1 + X85), X85 >= 0 mark(z) -{ 2 }-> a__U52(a__U21(mark(X84))) :|: z = 1 + (1 + X84), X84 >= 0 mark(z) -{ 2 }-> a__U52(a__U11(mark(X83))) :|: z = 1 + (1 + X83), X83 >= 0 mark(z) -{ 2 }-> a__U52(1 + mark(X92)) :|: X92 >= 0, z = 1 + (1 + X92) mark(z) -{ 2 }-> a__U52(1 + mark(X143) + X240) :|: X240 >= 0, X143 >= 0, z = 1 + (1 + X143 + X240) mark(z) -{ 2 }-> a__U51(a__length(mark(X81)), X2) :|: X81 >= 0, z = 1 + (1 + X81) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNatList(X79), X2) :|: z = 1 + (1 + X79) + X2, X79 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNatIList(X77), X2) :|: z = 1 + (1 + X77) + X2, X77 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNat(X80), X2) :|: X80 >= 0, X2 >= 0, z = 1 + (1 + X80) + X2 mark(z) -{ 2 }-> a__U51(a__U62(mark(X137), X234), X2) :|: z = 1 + (1 + X137 + X234) + X2, X234 >= 0, X137 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U61(mark(X136), X233, X314), X2) :|: X136 >= 0, X233 >= 0, z = 1 + (1 + X136 + X233 + X314) + X2, X314 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U52(mark(X78)), X2) :|: X78 >= 0, z = 1 + (1 + X78) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U51(mark(X135), X232), X2) :|: X135 >= 0, z = 1 + (1 + X135 + X232) + X2, X232 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U42(mark(X76)), X2) :|: X76 >= 0, X2 >= 0, z = 1 + (1 + X76) + X2 mark(z) -{ 2 }-> a__U51(a__U41(mark(X134), X231), X2) :|: z = 1 + (1 + X134 + X231) + X2, X134 >= 0, X231 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U31(mark(X75)), X2) :|: X75 >= 0, z = 1 + (1 + X75) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U21(mark(X74)), X2) :|: z = 1 + (1 + X74) + X2, X2 >= 0, X74 >= 0 mark(z) -{ 2 }-> a__U51(a__U11(mark(X73)), X2) :|: X73 >= 0, z = 1 + (1 + X73) + X2, X2 >= 0 mark(z) -{ 3 }-> a__U51(3, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U51(2, X2) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1, X2) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(0, X2) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1 + mark(X82), X2) :|: X82 >= 0, z = 1 + (1 + X82) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1 + mark(X138) + X235, X2) :|: z = 1 + (1 + X138 + X235) + X2, X235 >= 0, X2 >= 0, X138 >= 0 mark(z) -{ 3 }-> a__U51(1 + 0 + 3, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U42(a__length(mark(X71))) :|: X71 >= 0, z = 1 + (1 + X71) mark(z) -{ 2 }-> a__U42(a__isNatList(X69)) :|: z = 1 + (1 + X69), X69 >= 0 mark(z) -{ 2 }-> a__U42(a__isNatIList(X67)) :|: X67 >= 0, z = 1 + (1 + X67) mark(z) -{ 2 }-> a__U42(a__isNat(X70)) :|: X70 >= 0, z = 1 + (1 + X70) mark(z) -{ 2 }-> a__U42(a__U62(mark(X132), X229)) :|: X229 >= 0, z = 1 + (1 + X132 + X229), X132 >= 0 mark(z) -{ 2 }-> a__U42(a__U61(mark(X131), X228, X313)) :|: z = 1 + (1 + X131 + X228 + X313), X313 >= 0, X228 >= 0, X131 >= 0 mark(z) -{ 2 }-> a__U42(a__U52(mark(X68))) :|: z = 1 + (1 + X68), X68 >= 0 mark(z) -{ 2 }-> a__U42(a__U51(mark(X130), X227)) :|: z = 1 + (1 + X130 + X227), X227 >= 0, X130 >= 0 mark(z) -{ 2 }-> a__U42(a__U42(mark(X66))) :|: z = 1 + (1 + X66), X66 >= 0 mark(z) -{ 2 }-> a__U42(a__U41(mark(X129), X226)) :|: X129 >= 0, X226 >= 0, z = 1 + (1 + X129 + X226) mark(z) -{ 2 }-> a__U42(a__U31(mark(X65))) :|: z = 1 + (1 + X65), X65 >= 0 mark(z) -{ 2 }-> a__U42(a__U21(mark(X64))) :|: z = 1 + (1 + X64), X64 >= 0 mark(z) -{ 2 }-> a__U42(a__U11(mark(X63))) :|: z = 1 + (1 + X63), X63 >= 0 mark(z) -{ 2 }-> a__U42(1 + mark(X72)) :|: X72 >= 0, z = 1 + (1 + X72) mark(z) -{ 2 }-> a__U42(1 + mark(X133) + X230) :|: X133 >= 0, z = 1 + (1 + X133 + X230), X230 >= 0 mark(z) -{ 2 }-> a__U41(a__length(mark(X61)), X2) :|: X61 >= 0, z = 1 + (1 + X61) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNatList(X59), X2) :|: z = 1 + (1 + X59) + X2, X59 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNatIList(X57), X2) :|: X57 >= 0, z = 1 + (1 + X57) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNat(X60), X2) :|: X60 >= 0, X2 >= 0, z = 1 + (1 + X60) + X2 mark(z) -{ 2 }-> a__U41(a__U62(mark(X127), X224), X2) :|: X224 >= 0, z = 1 + (1 + X127 + X224) + X2, X127 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U61(mark(X126), X223, X312), X2) :|: X223 >= 0, z = 1 + (1 + X126 + X223 + X312) + X2, X312 >= 0, X126 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U52(mark(X58)), X2) :|: z = 1 + (1 + X58) + X2, X58 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U51(mark(X125), X222), X2) :|: X222 >= 0, z = 1 + (1 + X125 + X222) + X2, X125 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U42(mark(X56)), X2) :|: z = 1 + (1 + X56) + X2, X56 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U41(mark(X124), X221), X2) :|: X124 >= 0, z = 1 + (1 + X124 + X221) + X2, X221 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U31(mark(X55)), X2) :|: X2 >= 0, z = 1 + (1 + X55) + X2, X55 >= 0 mark(z) -{ 2 }-> a__U41(a__U21(mark(X54)), X2) :|: z = 1 + (1 + X54) + X2, X2 >= 0, X54 >= 0 mark(z) -{ 2 }-> a__U41(a__U11(mark(X53)), X2) :|: z = 1 + (1 + X53) + X2, X2 >= 0, X53 >= 0 mark(z) -{ 3 }-> a__U41(3, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U41(2, X2) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(1, X2) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(0, X2) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(1 + mark(X62), X2) :|: z = 1 + (1 + X62) + X2, X62 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(1 + mark(X128) + X225, X2) :|: X128 >= 0, X225 >= 0, z = 1 + (1 + X128 + X225) + X2, X2 >= 0 mark(z) -{ 3 }-> a__U41(1 + 0 + 3, X2) :|: X2 >= 0, z = 1 + 3 + X2 mark(z) -{ 2 }-> a__U31(a__length(mark(X51))) :|: X51 >= 0, z = 1 + (1 + X51) mark(z) -{ 2 }-> a__U31(a__isNatList(X49)) :|: z = 1 + (1 + X49), X49 >= 0 mark(z) -{ 2 }-> a__U31(a__isNatIList(X47)) :|: X47 >= 0, z = 1 + (1 + X47) mark(z) -{ 2 }-> a__U31(a__isNat(X50)) :|: X50 >= 0, z = 1 + (1 + X50) mark(z) -{ 2 }-> a__U31(a__U62(mark(X122), X219)) :|: z = 1 + (1 + X122 + X219), X122 >= 0, X219 >= 0 mark(z) -{ 2 }-> a__U31(a__U61(mark(X121), X218, X311)) :|: X311 >= 0, z = 1 + (1 + X121 + X218 + X311), X218 >= 0, X121 >= 0 mark(z) -{ 2 }-> a__U31(a__U52(mark(X48))) :|: z = 1 + (1 + X48), X48 >= 0 mark(z) -{ 2 }-> a__U31(a__U51(mark(X120), X217)) :|: X120 >= 0, z = 1 + (1 + X120 + X217), X217 >= 0 mark(z) -{ 2 }-> a__U31(a__U42(mark(X46))) :|: X46 >= 0, z = 1 + (1 + X46) mark(z) -{ 2 }-> a__U31(a__U41(mark(X119), X216)) :|: X216 >= 0, z = 1 + (1 + X119 + X216), X119 >= 0 mark(z) -{ 2 }-> a__U31(a__U31(mark(X45))) :|: X45 >= 0, z = 1 + (1 + X45) mark(z) -{ 2 }-> a__U31(a__U21(mark(X44))) :|: z = 1 + (1 + X44), X44 >= 0 mark(z) -{ 2 }-> a__U31(a__U11(mark(X43))) :|: X43 >= 0, z = 1 + (1 + X43) mark(z) -{ 2 }-> a__U31(1 + mark(X52)) :|: z = 1 + (1 + X52), X52 >= 0 mark(z) -{ 2 }-> a__U31(1 + mark(X123) + X220) :|: z = 1 + (1 + X123 + X220), X123 >= 0, X220 >= 0 mark(z) -{ 2 }-> a__U21(a__length(mark(X41))) :|: X41 >= 0, z = 1 + (1 + X41) mark(z) -{ 2 }-> a__U21(a__isNatList(X39)) :|: z = 1 + (1 + X39), X39 >= 0 mark(z) -{ 2 }-> a__U21(a__isNatIList(X37)) :|: X37 >= 0, z = 1 + (1 + X37) mark(z) -{ 2 }-> a__U21(a__isNat(X40)) :|: z = 1 + (1 + X40), X40 >= 0 mark(z) -{ 2 }-> a__U21(a__U62(mark(X117), X214)) :|: z = 1 + (1 + X117 + X214), X117 >= 0, X214 >= 0 mark(z) -{ 2 }-> a__U21(a__U61(mark(X116), X213, X310)) :|: X213 >= 0, z = 1 + (1 + X116 + X213 + X310), X116 >= 0, X310 >= 0 mark(z) -{ 2 }-> a__U21(a__U52(mark(X38))) :|: X38 >= 0, z = 1 + (1 + X38) mark(z) -{ 2 }-> a__U21(a__U51(mark(X115), X212)) :|: X212 >= 0, z = 1 + (1 + X115 + X212), X115 >= 0 mark(z) -{ 2 }-> a__U21(a__U42(mark(X36))) :|: X36 >= 0, z = 1 + (1 + X36) mark(z) -{ 2 }-> a__U21(a__U41(mark(X114), X211)) :|: X114 >= 0, z = 1 + (1 + X114 + X211), X211 >= 0 mark(z) -{ 2 }-> a__U21(a__U31(mark(X35))) :|: z = 1 + (1 + X35), X35 >= 0 mark(z) -{ 2 }-> a__U21(a__U21(mark(X34))) :|: z = 1 + (1 + X34), X34 >= 0 mark(z) -{ 2 }-> a__U21(a__U11(mark(X33))) :|: X33 >= 0, z = 1 + (1 + X33) mark(z) -{ 2 }-> a__U21(1 + mark(X42)) :|: X42 >= 0, z = 1 + (1 + X42) mark(z) -{ 2 }-> a__U21(1 + mark(X118) + X215) :|: X118 >= 0, X215 >= 0, z = 1 + (1 + X118 + X215) mark(z) -{ 2 }-> a__U11(a__length(mark(X31))) :|: X31 >= 0, z = 1 + (1 + X31) mark(z) -{ 2 }-> a__U11(a__isNatList(X27)) :|: X27 >= 0, z = 1 + (1 + X27) mark(z) -{ 2 }-> a__U11(a__isNatIList(X20)) :|: z = 1 + (1 + X20), X20 >= 0 mark(z) -{ 2 }-> a__U11(a__isNat(X30)) :|: z = 1 + (1 + X30), X30 >= 0 mark(z) -{ 2 }-> a__U11(a__U62(mark(X112), X29)) :|: z = 1 + (1 + X112 + X29), X29 >= 0, X112 >= 0 mark(z) -{ 2 }-> a__U11(a__U61(mark(X111), X28, X3'')) :|: X28 >= 0, X3'' >= 0, z = 1 + (1 + X111 + X28 + X3''), X111 >= 0 mark(z) -{ 2 }-> a__U11(a__U52(mark(X26))) :|: X26 >= 0, z = 1 + (1 + X26) mark(z) -{ 2 }-> a__U11(a__U51(mark(X110), X25)) :|: X110 >= 0, z = 1 + (1 + X110 + X25), X25 >= 0 mark(z) -{ 2 }-> a__U11(a__U42(mark(X19))) :|: X19 >= 0, z = 1 + (1 + X19) mark(z) -{ 2 }-> a__U11(a__U41(mark(X18), X24)) :|: X18 >= 0, z = 1 + (1 + X18 + X24), X24 >= 0 mark(z) -{ 2 }-> a__U11(a__U31(mark(X17))) :|: X17 >= 0, z = 1 + (1 + X17) mark(z) -{ 2 }-> a__U11(a__U21(mark(X16))) :|: X16 >= 0, z = 1 + (1 + X16) mark(z) -{ 2 }-> a__U11(a__U11(mark(X15))) :|: z = 1 + (1 + X15), X15 >= 0 mark(z) -{ 2 }-> a__U11(1 + mark(X32)) :|: X32 >= 0, z = 1 + (1 + X32) mark(z) -{ 2 }-> a__U11(1 + mark(X113) + X210) :|: X113 >= 0, z = 1 + (1 + X113 + X210), X210 >= 0 mark(z) -{ 2 }-> 3 :|: z = 3 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 3 }-> 2 :|: z = 1 + 2, 2 = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 3 }-> 1 + X :|: z = 1 + 0, X >= 0, 0 = X mark(z) -{ 3 }-> 1 + X :|: z = 1 + 2, X >= 0, 2 = X mark(z) -{ 3 }-> 1 + X :|: z = 1 + 1, X >= 0, 1 = X mark(z) -{ 4 }-> 1 + X :|: z = 1 + 3, X >= 0, 3 = X mark(z) -{ 4 }-> 1 + X :|: z = 1 + 3, X >= 0, 1 + 0 + 3 = X mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> 1 + 0 + 3 :|: z = 3 ---------------------------------------- (29) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: a__U11(z) -{ 1 }-> 2 :|: z = 2 a__U11(z) -{ 1 }-> 1 + z :|: z >= 0 a__U21(z) -{ 1 }-> 2 :|: z = 2 a__U21(z) -{ 1 }-> 1 + z :|: z >= 0 a__U31(z) -{ 1 }-> 2 :|: z = 2 a__U31(z) -{ 1 }-> 1 + z :|: z >= 0 a__U41(z, z') -{ 2 }-> a__U42(a__U41(a__isNat(V1'), V2')) :|: z = 2, z' = 1 + V1' + V2', V2' >= 0, V1' >= 0 a__U41(z, z') -{ 2 }-> a__U42(a__U31(a__isNatList(z'))) :|: z = 2, z' >= 0 a__U41(z, z') -{ 3 }-> 2 :|: z = 2, z' = 3, 2 = 2 a__U41(z, z') -{ 3 }-> 2 :|: z = 2, z' >= 0, 1 + z' = 2 a__U41(z, z') -{ 3 }-> 1 + X :|: z = 2, z' = 3, X >= 0, 2 = X a__U41(z, z') -{ 3 }-> 1 + X :|: z = 2, z' >= 0, X >= 0, 1 + z' = X a__U41(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U42(z) -{ 1 }-> 2 :|: z = 2 a__U42(z) -{ 1 }-> 1 + z :|: z >= 0 a__U51(z, z') -{ 2 }-> a__U52(a__U51(a__isNat(V1''), V2'')) :|: z = 2, V1'' >= 0, V2'' >= 0, z' = 1 + V1'' + V2'' a__U51(z, z') -{ 3 }-> 2 :|: z = 2, z' = 1, 2 = 2 a__U51(z, z') -{ 3 }-> 2 :|: z = 2, z' >= 0, 1 + z' = 2 a__U51(z, z') -{ 3 }-> 1 + X :|: z = 2, z' = 1, X >= 0, 2 = X a__U51(z, z') -{ 3 }-> 1 + X :|: z = 2, z' >= 0, X >= 0, 1 + z' = X a__U51(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U52(z) -{ 1 }-> 2 :|: z = 2 a__U52(z) -{ 1 }-> 1 + z :|: z >= 0 a__U61(z, z', z'') -{ 2 }-> a__U62(a__U21(a__isNat(z'' - 1)), z') :|: z = 2, z'' - 1 >= 0, z' >= 0 a__U61(z, z', z'') -{ 2 }-> a__U62(a__U11(a__isNatList(z'' - 1)), z') :|: z = 2, z'' - 1 >= 0, z' >= 0 a__U61(z, z', z'') -{ 2 }-> a__U62(2, z') :|: z = 2, z'' = 0, z' >= 0 a__U61(z, z', z'') -{ 2 }-> a__U62(1 + z'', z') :|: z = 2, z' >= 0, z'' >= 0 a__U61(z, z', z'') -{ 1 }-> 1 + z + z' + z'' :|: z >= 0, z'' >= 0, z' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__length(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNatList(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNatIList(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__isNat(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U62(mark(X12), X22)) :|: z = 2, z' = 1 + X12 + X22, X12 >= 0, X22 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U61(mark(X11), X21, X3')) :|: z = 2, X3' >= 0, z' = 1 + X11 + X21 + X3', X11 >= 0, X21 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U52(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U51(mark(X1''), X2'')) :|: z = 2, z' = 1 + X1'' + X2'', X1'' >= 0, X2'' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U42(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U41(mark(X1'), X2')) :|: z = 2, z' = 1 + X1' + X2', X2' >= 0, X1' >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U31(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U21(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(a__U11(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 3 }-> 1 + a__length(3) :|: z = 2, z' = 3 a__U62(z, z') -{ 2 }-> 1 + a__length(2) :|: z = 2, z' = 2 a__U62(z, z') -{ 2 }-> 1 + a__length(1) :|: z = 2, z' = 1 a__U62(z, z') -{ 2 }-> 1 + a__length(0) :|: z = 2, z' = 0 a__U62(z, z') -{ 2 }-> 1 + a__length(1 + mark(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 2 }-> 1 + a__length(1 + mark(X13) + X23) :|: z = 2, X13 >= 0, X23 >= 0, z' = 1 + X13 + X23 a__U62(z, z') -{ 3 }-> 1 + a__length(1 + 0 + 3) :|: z = 2, z' = 3 a__U62(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__isNat(z) -{ 2 }-> a__U21(a__U21(a__isNat(z - 2))) :|: z - 2 >= 0 a__isNat(z) -{ 2 }-> a__U21(a__U11(a__isNatList(z - 2))) :|: z - 2 >= 0 a__isNat(z) -{ 2 }-> a__U11(a__U51(a__isNat(V13), V21)) :|: z = 1 + (1 + V13 + V21), V21 >= 0, V13 >= 0 a__isNat(z) -{ 1 }-> 2 :|: z = 0 a__isNat(z) -{ 3 }-> 2 :|: z = 1 + 1, 2 = 2 a__isNat(z) -{ 3 }-> 2 :|: z - 1 >= 0, 1 + (z - 1) = 2 a__isNat(z) -{ 3 }-> 2 :|: z = 1 + 0, 2 = 2 a__isNat(z) -{ 3 }-> 1 + X :|: z = 1 + 1, X >= 0, 2 = X a__isNat(z) -{ 3 }-> 1 + X :|: z - 1 >= 0, X >= 0, 1 + (z - 1) = X a__isNat(z) -{ 3 }-> 1 + X :|: z = 1 + 0, X >= 0, 2 = X a__isNat(z) -{ 1 }-> 1 + z :|: z >= 0 a__isNatIList(z) -{ 2 }-> a__U41(a__U21(a__isNat(V18)), V2) :|: V18 >= 0, z = 1 + (1 + V18) + V2, V2 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(a__U11(a__isNatList(V17)), V2) :|: z = 1 + (1 + V17) + V2, V2 >= 0, V17 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(2, z - 1) :|: z - 1 >= 0 a__isNatIList(z) -{ 2 }-> a__U41(1 + V1, V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatIList(z) -{ 2 }-> a__U31(a__U51(a__isNat(V16), V22)) :|: z = 1 + V16 + V22, V22 >= 0, V16 >= 0 a__isNatIList(z) -{ 1 }-> 2 :|: z = 3 a__isNatIList(z) -{ 3 }-> 2 :|: z = 1, 2 = 2 a__isNatIList(z) -{ 3 }-> 2 :|: z >= 0, 1 + z = 2 a__isNatIList(z) -{ 3 }-> 1 + X :|: z = 1, X >= 0, 2 = X a__isNatIList(z) -{ 3 }-> 1 + X :|: z >= 0, X >= 0, 1 + z = X a__isNatIList(z) -{ 1 }-> 1 + z :|: z >= 0 a__isNatList(z) -{ 2 }-> a__U51(a__U21(a__isNat(V110)), V2) :|: V110 >= 0, V2 >= 0, z = 1 + (1 + V110) + V2 a__isNatList(z) -{ 2 }-> a__U51(a__U11(a__isNatList(V19)), V2) :|: V19 >= 0, V2 >= 0, z = 1 + (1 + V19) + V2 a__isNatList(z) -{ 2 }-> a__U51(2, z - 1) :|: z - 1 >= 0 a__isNatList(z) -{ 2 }-> a__U51(1 + V1, V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatList(z) -{ 1 }-> 2 :|: z = 1 a__isNatList(z) -{ 1 }-> 1 + z :|: z >= 0 a__length(z) -{ 2 }-> a__U61(a__U51(a__isNat(V111), V23), 1 + V111 + V23, N) :|: V23 >= 0, z = 1 + N + (1 + V111 + V23), V111 >= 0, N >= 0 a__length(z) -{ 2 }-> a__U61(2, 1, z - 2) :|: z - 2 >= 0 a__length(z) -{ 2 }-> a__U61(1 + L, L, N) :|: z = 1 + N + L, L >= 0, N >= 0 a__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + z :|: z >= 0 a__zeros -{ 1 }-> 3 :|: a__zeros -{ 1 }-> 1 + 0 + 3 :|: mark(z) -{ 2 }-> a__length(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__U62(mark(X167), X254)) :|: z = 1 + (1 + X167 + X254), X254 >= 0, X167 >= 0 mark(z) -{ 2 }-> a__length(a__U61(mark(X166), X253, X318)) :|: X166 >= 0, z = 1 + (1 + X166 + X253 + X318), X253 >= 0, X318 >= 0 mark(z) -{ 2 }-> a__length(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__U51(mark(X163), X252)) :|: X163 >= 0, z = 1 + (1 + X163 + X252), X252 >= 0 mark(z) -{ 2 }-> a__length(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__U41(mark(X160), X251)) :|: X251 >= 0, z = 1 + (1 + X160 + X251), X160 >= 0 mark(z) -{ 2 }-> a__length(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 3 }-> a__length(3) :|: z = 1 + 3 mark(z) -{ 2 }-> a__length(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__length(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__length(0) :|: z = 1 + 0 mark(z) -{ 2 }-> a__length(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__length(1 + mark(X170) + X255) :|: X255 >= 0, z = 1 + (1 + X170 + X255), X170 >= 0 mark(z) -{ 3 }-> a__length(1 + 0 + 3) :|: z = 1 + 3 mark(z) -{ 1 }-> a__isNatList(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__isNatIList(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__isNat(z - 1) :|: z - 1 >= 0 mark(z) -{ 2 }-> a__U62(a__length(mark(X154)), X2) :|: X154 >= 0, z = 1 + (1 + X154) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__isNatList(X109), X2) :|: X2 >= 0, z = 1 + (1 + X109) + X2, X109 >= 0 mark(z) -{ 2 }-> a__U62(a__isNatIList(X107), X2) :|: X107 >= 0, z = 1 + (1 + X107) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__isNat(X153), X2) :|: z = 1 + (1 + X153) + X2, X153 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U62(mark(X152), X249), X2) :|: X152 >= 0, z = 1 + (1 + X152 + X249) + X2, X249 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U61(mark(X151), X248, X317), X2) :|: X248 >= 0, z = 1 + (1 + X151 + X248 + X317) + X2, X2 >= 0, X317 >= 0, X151 >= 0 mark(z) -{ 2 }-> a__U62(a__U52(mark(X108)), X2) :|: z = 1 + (1 + X108) + X2, X2 >= 0, X108 >= 0 mark(z) -{ 2 }-> a__U62(a__U51(mark(X150), X247), X2) :|: z = 1 + (1 + X150 + X247) + X2, X150 >= 0, X247 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U42(mark(X106)), X2) :|: X106 >= 0, z = 1 + (1 + X106) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U41(mark(X149), X246), X2) :|: X149 >= 0, X246 >= 0, z = 1 + (1 + X149 + X246) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U31(mark(X105)), X2) :|: X105 >= 0, z = 1 + (1 + X105) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U21(mark(X104)), X2) :|: X104 >= 0, z = 1 + (1 + X104) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(a__U11(mark(X103)), X2) :|: X103 >= 0, z = 1 + (1 + X103) + X2, X2 >= 0 mark(z) -{ 3 }-> a__U62(3, z - 4) :|: z - 4 >= 0 mark(z) -{ 2 }-> a__U62(2, z - 3) :|: z - 3 >= 0 mark(z) -{ 2 }-> a__U62(1, z - 2) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U62(0, z - 1) :|: z - 1 >= 0 mark(z) -{ 2 }-> a__U62(1 + mark(X156), X2) :|: X156 >= 0, z = 1 + (1 + X156) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U62(1 + mark(X155) + X250, X2) :|: X155 >= 0, X2 >= 0, z = 1 + (1 + X155 + X250) + X2, X250 >= 0 mark(z) -{ 3 }-> a__U62(1 + 0 + 3, z - 4) :|: z - 4 >= 0 mark(z) -{ 2 }-> a__U61(a__length(mark(X101)), X2, X3) :|: X3 >= 0, X2 >= 0, z = 1 + (1 + X101) + X2 + X3, X101 >= 0 mark(z) -{ 2 }-> a__U61(a__isNatList(X99), X2, X3) :|: X99 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X99) + X2 + X3 mark(z) -{ 2 }-> a__U61(a__isNatIList(X97), X2, X3) :|: z = 1 + (1 + X97) + X2 + X3, X97 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__isNat(X100), X2, X3) :|: z = 1 + (1 + X100) + X2 + X3, X3 >= 0, X2 >= 0, X100 >= 0 mark(z) -{ 2 }-> a__U61(a__U62(mark(X147), X244), X2, X3) :|: X244 >= 0, z = 1 + (1 + X147 + X244) + X2 + X3, X147 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U61(mark(X146), X243, X316), X2, X3) :|: X146 >= 0, X243 >= 0, X3 >= 0, z = 1 + (1 + X146 + X243 + X316) + X2 + X3, X2 >= 0, X316 >= 0 mark(z) -{ 2 }-> a__U61(a__U52(mark(X98)), X2, X3) :|: z = 1 + (1 + X98) + X2 + X3, X98 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U51(mark(X145), X242), X2, X3) :|: z = 1 + (1 + X145 + X242) + X2 + X3, X145 >= 0, X242 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U42(mark(X96)), X2, X3) :|: X96 >= 0, z = 1 + (1 + X96) + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U41(mark(X144), X241), X2, X3) :|: X144 >= 0, z = 1 + (1 + X144 + X241) + X2 + X3, X3 >= 0, X241 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(a__U31(mark(X95)), X2, X3) :|: X95 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X95) + X2 + X3 mark(z) -{ 2 }-> a__U61(a__U21(mark(X94)), X2, X3) :|: z = 1 + (1 + X94) + X2 + X3, X3 >= 0, X2 >= 0, X94 >= 0 mark(z) -{ 2 }-> a__U61(a__U11(mark(X93)), X2, X3) :|: z = 1 + (1 + X93) + X2 + X3, X3 >= 0, X2 >= 0, X93 >= 0 mark(z) -{ 3 }-> a__U61(3, X2, X3) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(2, X2, X3) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(1, X2, X3) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(0, X2, X3) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U61(1 + mark(X102), X2, X3) :|: z = 1 + (1 + X102) + X2 + X3, X3 >= 0, X2 >= 0, X102 >= 0 mark(z) -{ 2 }-> a__U61(1 + mark(X148) + X245, X2, X3) :|: X245 >= 0, X3 >= 0, z = 1 + (1 + X148 + X245) + X2 + X3, X148 >= 0, X2 >= 0 mark(z) -{ 3 }-> a__U61(1 + 0 + 3, X2, X3) :|: z = 1 + 3 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U52(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__U62(mark(X142), X239)) :|: X239 >= 0, X142 >= 0, z = 1 + (1 + X142 + X239) mark(z) -{ 2 }-> a__U52(a__U61(mark(X141), X238, X315)) :|: X315 >= 0, X238 >= 0, z = 1 + (1 + X141 + X238 + X315), X141 >= 0 mark(z) -{ 2 }-> a__U52(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__U51(mark(X140), X237)) :|: z = 1 + (1 + X140 + X237), X140 >= 0, X237 >= 0 mark(z) -{ 2 }-> a__U52(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__U41(mark(X139), X236)) :|: z = 1 + (1 + X139 + X236), X236 >= 0, X139 >= 0 mark(z) -{ 2 }-> a__U52(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U52(1 + mark(X143) + X240) :|: X240 >= 0, X143 >= 0, z = 1 + (1 + X143 + X240) mark(z) -{ 2 }-> a__U51(a__length(mark(X81)), X2) :|: X81 >= 0, z = 1 + (1 + X81) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNatList(X79), X2) :|: z = 1 + (1 + X79) + X2, X79 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNatIList(X77), X2) :|: z = 1 + (1 + X77) + X2, X77 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__isNat(X80), X2) :|: X80 >= 0, X2 >= 0, z = 1 + (1 + X80) + X2 mark(z) -{ 2 }-> a__U51(a__U62(mark(X137), X234), X2) :|: z = 1 + (1 + X137 + X234) + X2, X234 >= 0, X137 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U61(mark(X136), X233, X314), X2) :|: X136 >= 0, X233 >= 0, z = 1 + (1 + X136 + X233 + X314) + X2, X314 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U52(mark(X78)), X2) :|: X78 >= 0, z = 1 + (1 + X78) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U51(mark(X135), X232), X2) :|: X135 >= 0, z = 1 + (1 + X135 + X232) + X2, X232 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U42(mark(X76)), X2) :|: X76 >= 0, X2 >= 0, z = 1 + (1 + X76) + X2 mark(z) -{ 2 }-> a__U51(a__U41(mark(X134), X231), X2) :|: z = 1 + (1 + X134 + X231) + X2, X134 >= 0, X231 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U31(mark(X75)), X2) :|: X75 >= 0, z = 1 + (1 + X75) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(a__U21(mark(X74)), X2) :|: z = 1 + (1 + X74) + X2, X2 >= 0, X74 >= 0 mark(z) -{ 2 }-> a__U51(a__U11(mark(X73)), X2) :|: X73 >= 0, z = 1 + (1 + X73) + X2, X2 >= 0 mark(z) -{ 3 }-> a__U51(3, z - 4) :|: z - 4 >= 0 mark(z) -{ 2 }-> a__U51(2, z - 3) :|: z - 3 >= 0 mark(z) -{ 2 }-> a__U51(1, z - 2) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U51(0, z - 1) :|: z - 1 >= 0 mark(z) -{ 2 }-> a__U51(1 + mark(X82), X2) :|: X82 >= 0, z = 1 + (1 + X82) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U51(1 + mark(X138) + X235, X2) :|: z = 1 + (1 + X138 + X235) + X2, X235 >= 0, X2 >= 0, X138 >= 0 mark(z) -{ 3 }-> a__U51(1 + 0 + 3, z - 4) :|: z - 4 >= 0 mark(z) -{ 2 }-> a__U42(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__U62(mark(X132), X229)) :|: X229 >= 0, z = 1 + (1 + X132 + X229), X132 >= 0 mark(z) -{ 2 }-> a__U42(a__U61(mark(X131), X228, X313)) :|: z = 1 + (1 + X131 + X228 + X313), X313 >= 0, X228 >= 0, X131 >= 0 mark(z) -{ 2 }-> a__U42(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__U51(mark(X130), X227)) :|: z = 1 + (1 + X130 + X227), X227 >= 0, X130 >= 0 mark(z) -{ 2 }-> a__U42(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__U41(mark(X129), X226)) :|: X129 >= 0, X226 >= 0, z = 1 + (1 + X129 + X226) mark(z) -{ 2 }-> a__U42(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U42(1 + mark(X133) + X230) :|: X133 >= 0, z = 1 + (1 + X133 + X230), X230 >= 0 mark(z) -{ 2 }-> a__U41(a__length(mark(X61)), X2) :|: X61 >= 0, z = 1 + (1 + X61) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNatList(X59), X2) :|: z = 1 + (1 + X59) + X2, X59 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNatIList(X57), X2) :|: X57 >= 0, z = 1 + (1 + X57) + X2, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__isNat(X60), X2) :|: X60 >= 0, X2 >= 0, z = 1 + (1 + X60) + X2 mark(z) -{ 2 }-> a__U41(a__U62(mark(X127), X224), X2) :|: X224 >= 0, z = 1 + (1 + X127 + X224) + X2, X127 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U61(mark(X126), X223, X312), X2) :|: X223 >= 0, z = 1 + (1 + X126 + X223 + X312) + X2, X312 >= 0, X126 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U52(mark(X58)), X2) :|: z = 1 + (1 + X58) + X2, X58 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U51(mark(X125), X222), X2) :|: X222 >= 0, z = 1 + (1 + X125 + X222) + X2, X125 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U42(mark(X56)), X2) :|: z = 1 + (1 + X56) + X2, X56 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U41(mark(X124), X221), X2) :|: X124 >= 0, z = 1 + (1 + X124 + X221) + X2, X221 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(a__U31(mark(X55)), X2) :|: X2 >= 0, z = 1 + (1 + X55) + X2, X55 >= 0 mark(z) -{ 2 }-> a__U41(a__U21(mark(X54)), X2) :|: z = 1 + (1 + X54) + X2, X2 >= 0, X54 >= 0 mark(z) -{ 2 }-> a__U41(a__U11(mark(X53)), X2) :|: z = 1 + (1 + X53) + X2, X2 >= 0, X53 >= 0 mark(z) -{ 3 }-> a__U41(3, z - 4) :|: z - 4 >= 0 mark(z) -{ 2 }-> a__U41(2, z - 3) :|: z - 3 >= 0 mark(z) -{ 2 }-> a__U41(1, z - 2) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U41(0, z - 1) :|: z - 1 >= 0 mark(z) -{ 2 }-> a__U41(1 + mark(X62), X2) :|: z = 1 + (1 + X62) + X2, X62 >= 0, X2 >= 0 mark(z) -{ 2 }-> a__U41(1 + mark(X128) + X225, X2) :|: X128 >= 0, X225 >= 0, z = 1 + (1 + X128 + X225) + X2, X2 >= 0 mark(z) -{ 3 }-> a__U41(1 + 0 + 3, z - 4) :|: z - 4 >= 0 mark(z) -{ 2 }-> a__U31(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__U62(mark(X122), X219)) :|: z = 1 + (1 + X122 + X219), X122 >= 0, X219 >= 0 mark(z) -{ 2 }-> a__U31(a__U61(mark(X121), X218, X311)) :|: X311 >= 0, z = 1 + (1 + X121 + X218 + X311), X218 >= 0, X121 >= 0 mark(z) -{ 2 }-> a__U31(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__U51(mark(X120), X217)) :|: X120 >= 0, z = 1 + (1 + X120 + X217), X217 >= 0 mark(z) -{ 2 }-> a__U31(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__U41(mark(X119), X216)) :|: X216 >= 0, z = 1 + (1 + X119 + X216), X119 >= 0 mark(z) -{ 2 }-> a__U31(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U31(1 + mark(X123) + X220) :|: z = 1 + (1 + X123 + X220), X123 >= 0, X220 >= 0 mark(z) -{ 2 }-> a__U21(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__U62(mark(X117), X214)) :|: z = 1 + (1 + X117 + X214), X117 >= 0, X214 >= 0 mark(z) -{ 2 }-> a__U21(a__U61(mark(X116), X213, X310)) :|: X213 >= 0, z = 1 + (1 + X116 + X213 + X310), X116 >= 0, X310 >= 0 mark(z) -{ 2 }-> a__U21(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__U51(mark(X115), X212)) :|: X212 >= 0, z = 1 + (1 + X115 + X212), X115 >= 0 mark(z) -{ 2 }-> a__U21(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__U41(mark(X114), X211)) :|: X114 >= 0, z = 1 + (1 + X114 + X211), X211 >= 0 mark(z) -{ 2 }-> a__U21(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U21(1 + mark(X118) + X215) :|: X118 >= 0, X215 >= 0, z = 1 + (1 + X118 + X215) mark(z) -{ 2 }-> a__U11(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__U62(mark(X112), X29)) :|: z = 1 + (1 + X112 + X29), X29 >= 0, X112 >= 0 mark(z) -{ 2 }-> a__U11(a__U61(mark(X111), X28, X3'')) :|: X28 >= 0, X3'' >= 0, z = 1 + (1 + X111 + X28 + X3''), X111 >= 0 mark(z) -{ 2 }-> a__U11(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__U51(mark(X110), X25)) :|: X110 >= 0, z = 1 + (1 + X110 + X25), X25 >= 0 mark(z) -{ 2 }-> a__U11(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__U41(mark(X18), X24)) :|: X18 >= 0, z = 1 + (1 + X18 + X24), X24 >= 0 mark(z) -{ 2 }-> a__U11(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__U11(1 + mark(X113) + X210) :|: X113 >= 0, z = 1 + (1 + X113 + X210), X210 >= 0 mark(z) -{ 2 }-> 3 :|: z = 3 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 3 }-> 2 :|: z = 1 + 2, 2 = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 3 }-> 1 + X :|: z = 1 + 0, X >= 0, 0 = X mark(z) -{ 3 }-> 1 + X :|: z = 1 + 2, X >= 0, 2 = X mark(z) -{ 3 }-> 1 + X :|: z = 1 + 1, X >= 0, 1 = X mark(z) -{ 4 }-> 1 + X :|: z = 1 + 3, X >= 0, 3 = X mark(z) -{ 4 }-> 1 + X :|: z = 1 + 3, X >= 0, 1 + 0 + 3 = X mark(z) -{ 1 }-> 1 + mark(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> 1 + 0 + 3 :|: z = 3 ---------------------------------------- (31) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: none And the following fresh constants: none ---------------------------------------- (32) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__zeros -> cons(0, zeros) [1] a__U11(tt) -> tt [1] a__U21(tt) -> tt [1] a__U31(tt) -> tt [1] a__U41(tt, V2) -> a__U42(a__isNatIList(V2)) [1] a__U42(tt) -> tt [1] a__U51(tt, V2) -> a__U52(a__isNatList(V2)) [1] a__U52(tt) -> tt [1] a__U61(tt, L, N) -> a__U62(a__isNat(N), L) [1] a__U62(tt, L) -> s(a__length(mark(L))) [1] a__isNat(0) -> tt [1] a__isNat(length(V1)) -> a__U11(a__isNatList(V1)) [1] a__isNat(s(V1)) -> a__U21(a__isNat(V1)) [1] a__isNatIList(V) -> a__U31(a__isNatList(V)) [1] a__isNatIList(zeros) -> tt [1] a__isNatIList(cons(V1, V2)) -> a__U41(a__isNat(V1), V2) [1] a__isNatList(nil) -> tt [1] a__isNatList(cons(V1, V2)) -> a__U51(a__isNat(V1), V2) [1] a__length(nil) -> 0 [1] a__length(cons(N, L)) -> a__U61(a__isNatList(L), L, N) [1] mark(zeros) -> a__zeros [1] mark(U11(X)) -> a__U11(mark(X)) [1] mark(U21(X)) -> a__U21(mark(X)) [1] mark(U31(X)) -> a__U31(mark(X)) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(U42(X)) -> a__U42(mark(X)) [1] mark(isNatIList(X)) -> a__isNatIList(X) [1] mark(U51(X1, X2)) -> a__U51(mark(X1), X2) [1] mark(U52(X)) -> a__U52(mark(X)) [1] mark(isNatList(X)) -> a__isNatList(X) [1] mark(U61(X1, X2, X3)) -> a__U61(mark(X1), X2, X3) [1] mark(U62(X1, X2)) -> a__U62(mark(X1), X2) [1] mark(isNat(X)) -> a__isNat(X) [1] mark(length(X)) -> a__length(mark(X)) [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(0) -> 0 [1] mark(tt) -> tt [1] mark(s(X)) -> s(mark(X)) [1] mark(nil) -> nil [1] a__zeros -> zeros [1] a__U11(X) -> U11(X) [1] a__U21(X) -> U21(X) [1] a__U31(X) -> U31(X) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__U42(X) -> U42(X) [1] a__isNatIList(X) -> isNatIList(X) [1] a__U51(X1, X2) -> U51(X1, X2) [1] a__U52(X) -> U52(X) [1] a__isNatList(X) -> isNatList(X) [1] a__U61(X1, X2, X3) -> U61(X1, X2, X3) [1] a__U62(X1, X2) -> U62(X1, X2) [1] a__isNat(X) -> isNat(X) [1] a__length(X) -> length(X) [1] The TRS has the following type information: a__zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat cons :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat 0 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat zeros :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat tt :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat s :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat a__length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat mark :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat length :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat nil :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U11 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U21 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U31 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U41 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U42 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatIList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U51 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U52 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNatList :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U61 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat U62 :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat isNat :: 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat -> 0:zeros:cons:tt:s:length:nil:U11:U21:U31:U41:U42:isNatIList:U51:U52:isNatList:U61:U62:isNat Rewrite Strategy: INNERMOST ---------------------------------------- (33) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 zeros => 3 tt => 2 nil => 1 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: a__U11(z) -{ 1 }-> 2 :|: z = 2 a__U11(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U21(z) -{ 1 }-> 2 :|: z = 2 a__U21(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U31(z) -{ 1 }-> 2 :|: z = 2 a__U31(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U41(z, z') -{ 1 }-> a__U42(a__isNatIList(V2)) :|: z = 2, z' = V2, V2 >= 0 a__U41(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U42(z) -{ 1 }-> 2 :|: z = 2 a__U42(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U51(z, z') -{ 1 }-> a__U52(a__isNatList(V2)) :|: z = 2, z' = V2, V2 >= 0 a__U51(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U52(z) -{ 1 }-> 2 :|: z = 2 a__U52(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__U61(z, z', z'') -{ 1 }-> a__U62(a__isNat(N), L) :|: z = 2, L >= 0, z'' = N, z' = L, N >= 0 a__U61(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U62(z, z') -{ 1 }-> 1 + a__length(mark(L)) :|: z = 2, L >= 0, z' = L a__U62(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__isNat(z) -{ 1 }-> a__U21(a__isNat(V1)) :|: z = 1 + V1, V1 >= 0 a__isNat(z) -{ 1 }-> a__U11(a__isNatList(V1)) :|: z = 1 + V1, V1 >= 0 a__isNat(z) -{ 1 }-> 2 :|: z = 0 a__isNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatIList(z) -{ 1 }-> a__U41(a__isNat(V1), V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatIList(z) -{ 1 }-> a__U31(a__isNatList(V)) :|: z = V, V >= 0 a__isNatIList(z) -{ 1 }-> 2 :|: z = 3 a__isNatIList(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatList(z) -{ 1 }-> a__U51(a__isNat(V1), V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatList(z) -{ 1 }-> 2 :|: z = 1 a__isNatList(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__length(z) -{ 1 }-> a__U61(a__isNatList(L), L, N) :|: z = 1 + N + L, L >= 0, N >= 0 a__length(z) -{ 1 }-> 0 :|: z = 1 a__length(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__zeros -{ 1 }-> 3 :|: a__zeros -{ 1 }-> 1 + 0 + 3 :|: mark(z) -{ 1 }-> a__zeros :|: z = 3 mark(z) -{ 1 }-> a__length(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNatList(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNatIList(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__U62(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U61(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U52(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__U51(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U42(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__U41(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U31(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__U21(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__U11(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0) -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0) -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 S tuples: A__ZEROS -> c A__ZEROS -> c1 A__U11(tt) -> c2 A__U11(z0) -> c3 A__U21(tt) -> c4 A__U21(z0) -> c5 A__U31(tt) -> c6 A__U31(z0) -> c7 A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U41(z0, z1) -> c9 A__U42(tt) -> c10 A__U42(z0) -> c11 A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U51(z0, z1) -> c13 A__U52(tt) -> c14 A__U52(z0) -> c15 A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U61(z0, z1, z2) -> c17 A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__U62(z0, z1) -> c19 A__ISNAT(0) -> c20 A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNAT(z0) -> c23 A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(zeros) -> c25 A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATILIST(z0) -> c27 A__ISNATLIST(nil) -> c28 A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(z0) -> c30 A__LENGTH(nil) -> c31 A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) A__LENGTH(z0) -> c33 MARK(zeros) -> c34(A__ZEROS) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(0) -> c49 MARK(tt) -> c50 MARK(s(z0)) -> c51(MARK(z0)) MARK(nil) -> c52 K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ZEROS, A__U11_1, A__U21_1, A__U31_1, A__U41_2, A__U42_1, A__U51_2, A__U52_1, A__U61_3, A__U62_2, A__ISNAT_1, A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1 Compound Symbols: c, c1, c2, c3, c4, c5, c6, c7, c8_2, c9, c10, c11, c12_2, c13, c14, c15, c16_2, c17, c18_2, c19, c20, c21_2, c22_2, c23, c24_2, c25, c26_2, c27, c28, c29_2, c30, c31, c32_2, c33, c34_1, c35_2, c36_2, c37_2, c38_2, c39_2, c40_1, c41_2, c42_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c49, c50, c51_1, c52 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 28 trailing nodes: A__ISNATLIST(z0) -> c30 A__U11(z0) -> c3 A__U51(z0, z1) -> c13 A__U42(tt) -> c10 A__U21(tt) -> c4 MARK(nil) -> c52 A__ZEROS -> c A__ISNATILIST(z0) -> c27 A__U31(z0) -> c7 A__U21(z0) -> c5 A__U62(z0, z1) -> c19 A__U61(z0, z1, z2) -> c17 A__ZEROS -> c1 A__U41(z0, z1) -> c9 A__LENGTH(z0) -> c33 MARK(0) -> c49 A__U52(z0) -> c15 A__LENGTH(nil) -> c31 A__U11(tt) -> c2 MARK(zeros) -> c34(A__ZEROS) A__ISNAT(0) -> c20 MARK(tt) -> c50 A__ISNATLIST(nil) -> c28 A__ISNAT(z0) -> c23 A__U31(tt) -> c6 A__U52(tt) -> c14 A__U42(z0) -> c11 A__ISNATILIST(zeros) -> c25 ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) S tuples: A__U41(tt, z0) -> c8(A__U42(a__isNatIList(z0)), A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__U52(a__isNatList(z0)), A__ISNATLIST(z0)) A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNAT(length(z0)) -> c21(A__U11(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__U21(a__isNat(z0)), A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__U31(a__isNatList(z0)), A__ISNATLIST(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U11(z0)) -> c35(A__U11(mark(z0)), MARK(z0)) MARK(U21(z0)) -> c36(A__U21(mark(z0)), MARK(z0)) MARK(U31(z0)) -> c37(A__U31(mark(z0)), MARK(z0)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(U42(z0)) -> c39(A__U42(mark(z0)), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(U52(z0)) -> c42(A__U52(mark(z0)), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__U41_2, A__U51_2, A__U61_3, A__U62_2, A__ISNAT_1, A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1 Compound Symbols: c8_2, c12_2, c16_2, c18_2, c21_2, c22_2, c24_2, c26_2, c29_2, c32_2, c35_2, c36_2, c37_2, c38_2, c39_2, c40_1, c41_2, c42_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 10 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) S tuples: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__U61_3, A__U62_2, A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1 Compound Symbols: c16_2, c18_2, c26_2, c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1 ---------------------------------------- (41) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (42) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) The (relative) TRS S consists of the following rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Rewrite Strategy: INNERMOST ---------------------------------------- (43) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (44) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (45) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (46) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) [1] A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) [1] A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) [1] MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) [1] MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) [1] MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) [1] MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) [1] MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) [1] MARK(isNat(z0)) -> c46(A__ISNAT(z0)) [1] MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) [1] MARK(cons(z0, z1)) -> c48(MARK(z0)) [1] MARK(s(z0)) -> c51(MARK(z0)) [1] A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) [1] A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) [1] A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) [1] A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) [1] A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) [1] MARK(U11(z0)) -> c35(MARK(z0)) [1] MARK(U21(z0)) -> c36(MARK(z0)) [1] MARK(U31(z0)) -> c37(MARK(z0)) [1] MARK(U42(z0)) -> c39(MARK(z0)) [1] MARK(U52(z0)) -> c42(MARK(z0)) [1] a__zeros -> cons(0, zeros) [0] a__zeros -> zeros [0] a__U11(tt) -> tt [0] a__U11(z0) -> U11(z0) [0] a__U21(tt) -> tt [0] a__U21(z0) -> U21(z0) [0] a__U31(tt) -> tt [0] a__U31(z0) -> U31(z0) [0] a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U42(tt) -> tt [0] a__U42(z0) -> U42(z0) [0] a__U51(tt, z0) -> a__U52(a__isNatList(z0)) [0] a__U51(z0, z1) -> U51(z0, z1) [0] a__U52(tt) -> tt [0] a__U52(z0) -> U52(z0) [0] a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) [0] a__U61(z0, z1, z2) -> U61(z0, z1, z2) [0] a__U62(tt, z0) -> s(a__length(mark(z0))) [0] a__U62(z0, z1) -> U62(z0, z1) [0] a__isNat(0) -> tt [0] a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) [0] a__isNat(s(z0)) -> a__U21(a__isNat(z0)) [0] a__isNat(z0) -> isNat(z0) [0] a__isNatIList(z0) -> a__U31(a__isNatList(z0)) [0] a__isNatIList(zeros) -> tt [0] a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) [0] a__isNatIList(z0) -> isNatIList(z0) [0] a__isNatList(nil) -> tt [0] a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) [0] a__isNatList(z0) -> isNatList(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) [0] a__length(z0) -> length(z0) [0] mark(zeros) -> a__zeros [0] mark(U11(z0)) -> a__U11(mark(z0)) [0] mark(U21(z0)) -> a__U21(mark(z0)) [0] mark(U31(z0)) -> a__U31(mark(z0)) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(U42(z0)) -> a__U42(mark(z0)) [0] mark(isNatIList(z0)) -> a__isNatIList(z0) [0] mark(U51(z0, z1)) -> a__U51(mark(z0), z1) [0] mark(U52(z0)) -> a__U52(mark(z0)) [0] mark(isNatList(z0)) -> a__isNatList(z0) [0] mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) [0] mark(U62(z0, z1)) -> a__U62(mark(z0), z1) [0] mark(isNat(z0)) -> a__isNat(z0) [0] mark(length(z0)) -> a__length(mark(z0)) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(0) -> 0 [0] mark(tt) -> tt [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] Rewrite Strategy: INNERMOST ---------------------------------------- (47) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (48) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) [1] A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) [1] A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) [1] MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) [1] MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) [1] MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) [1] MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) [1] MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) [1] MARK(isNat(z0)) -> c46(A__ISNAT(z0)) [1] MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) [1] MARK(cons(z0, z1)) -> c48(MARK(z0)) [1] MARK(s(z0)) -> c51(MARK(z0)) [1] A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) [1] A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) [1] A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) [1] A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) [1] A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) [1] MARK(U11(z0)) -> c35(MARK(z0)) [1] MARK(U21(z0)) -> c36(MARK(z0)) [1] MARK(U31(z0)) -> c37(MARK(z0)) [1] MARK(U42(z0)) -> c39(MARK(z0)) [1] MARK(U52(z0)) -> c42(MARK(z0)) [1] a__zeros -> cons(0, zeros) [0] a__zeros -> zeros [0] a__U11(tt) -> tt [0] a__U11(z0) -> U11(z0) [0] a__U21(tt) -> tt [0] a__U21(z0) -> U21(z0) [0] a__U31(tt) -> tt [0] a__U31(z0) -> U31(z0) [0] a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U42(tt) -> tt [0] a__U42(z0) -> U42(z0) [0] a__U51(tt, z0) -> a__U52(a__isNatList(z0)) [0] a__U51(z0, z1) -> U51(z0, z1) [0] a__U52(tt) -> tt [0] a__U52(z0) -> U52(z0) [0] a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) [0] a__U61(z0, z1, z2) -> U61(z0, z1, z2) [0] a__U62(tt, z0) -> s(a__length(mark(z0))) [0] a__U62(z0, z1) -> U62(z0, z1) [0] a__isNat(0) -> tt [0] a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) [0] a__isNat(s(z0)) -> a__U21(a__isNat(z0)) [0] a__isNat(z0) -> isNat(z0) [0] a__isNatIList(z0) -> a__U31(a__isNatList(z0)) [0] a__isNatIList(zeros) -> tt [0] a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) [0] a__isNatIList(z0) -> isNatIList(z0) [0] a__isNatList(nil) -> tt [0] a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) [0] a__isNatList(z0) -> isNatList(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) [0] a__length(z0) -> length(z0) [0] mark(zeros) -> a__zeros [0] mark(U11(z0)) -> a__U11(mark(z0)) [0] mark(U21(z0)) -> a__U21(mark(z0)) [0] mark(U31(z0)) -> a__U31(mark(z0)) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(U42(z0)) -> a__U42(mark(z0)) [0] mark(isNatIList(z0)) -> a__isNatIList(z0) [0] mark(U51(z0, z1)) -> a__U51(mark(z0), z1) [0] mark(U52(z0)) -> a__U52(mark(z0)) [0] mark(isNatList(z0)) -> a__isNatList(z0) [0] mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) [0] mark(U62(z0, z1)) -> a__U62(mark(z0), z1) [0] mark(isNat(z0)) -> a__isNat(z0) [0] mark(length(z0)) -> a__length(mark(z0)) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(0) -> 0 [0] mark(tt) -> tt [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] The TRS has the following type information: A__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c16 tt :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c16 :: c18 -> c21:c22 -> c16 A__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c18 a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil A__ISNAT :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c21:c22 c18 :: c32 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c18 A__LENGTH :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c32 mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil MARK :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 A__ISNATILIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c26:c24 cons :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c26 :: c8 -> c21:c22 -> c26:c24 A__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c8 A__ISNATLIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c29 c29 :: c12 -> c21:c22 -> c29 A__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> c12 c32 :: c16 -> c29 -> c32 a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c38 :: c8 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c40 :: c26:c24 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c41 :: c12 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c43 :: c29 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c44 :: c16 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c45 :: c18 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c46 :: c21:c22 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c47 :: c32 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 c48 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 s :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c51 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 c8 :: c26:c24 -> c8 c12 :: c29 -> c12 c21 :: c29 -> c21:c22 c22 :: c21:c22 -> c21:c22 c24 :: c29 -> c26:c24 U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c35 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c36 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c37 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c39 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil c42 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil 0 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil nil :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil Rewrite Strategy: INNERMOST ---------------------------------------- (49) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: A__U61_3 A__U62_2 A__ISNATILIST_1 A__ISNATLIST_1 A__LENGTH_1 MARK_1 A__U41_2 A__U51_2 A__ISNAT_1 (c) The following functions are completely defined: a__zeros a__U11_1 a__U21_1 a__U31_1 a__U41_2 a__U42_1 a__U51_2 a__U52_1 a__U61_3 a__U62_2 a__isNat_1 a__isNatIList_1 a__isNatList_1 a__length_1 mark_1 Due to the following rules being added: a__zeros -> null_a__zeros [0] a__U11(v0) -> null_a__U11 [0] a__U21(v0) -> null_a__U21 [0] a__U31(v0) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U42(v0) -> null_a__U42 [0] a__U51(v0, v1) -> null_a__U51 [0] a__U52(v0) -> null_a__U52 [0] a__U61(v0, v1, v2) -> null_a__U61 [0] a__U62(v0, v1) -> null_a__U62 [0] a__isNat(v0) -> null_a__isNat [0] a__isNatIList(v0) -> null_a__isNatIList [0] a__isNatList(v0) -> null_a__isNatList [0] a__length(v0) -> null_a__length [0] mark(v0) -> null_mark [0] And the following fresh constants: null_a__zeros, null_a__U11, null_a__U21, null_a__U31, null_a__U41, null_a__U42, null_a__U51, null_a__U52, null_a__U61, null_a__U62, null_a__isNat, null_a__isNatIList, null_a__isNatList, null_a__length, null_mark, const, const1, const2, const3, const4, const5, const6, const7, const8 ---------------------------------------- (50) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) [1] A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) [1] A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) [1] MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) [1] MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) [1] MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) [1] MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) [1] MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) [1] MARK(isNat(z0)) -> c46(A__ISNAT(z0)) [1] MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) [1] MARK(cons(z0, z1)) -> c48(MARK(z0)) [1] MARK(s(z0)) -> c51(MARK(z0)) [1] A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) [1] A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) [1] A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) [1] A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) [1] A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) [1] MARK(U11(z0)) -> c35(MARK(z0)) [1] MARK(U21(z0)) -> c36(MARK(z0)) [1] MARK(U31(z0)) -> c37(MARK(z0)) [1] MARK(U42(z0)) -> c39(MARK(z0)) [1] MARK(U52(z0)) -> c42(MARK(z0)) [1] a__zeros -> cons(0, zeros) [0] a__zeros -> zeros [0] a__U11(tt) -> tt [0] a__U11(z0) -> U11(z0) [0] a__U21(tt) -> tt [0] a__U21(z0) -> U21(z0) [0] a__U31(tt) -> tt [0] a__U31(z0) -> U31(z0) [0] a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U42(tt) -> tt [0] a__U42(z0) -> U42(z0) [0] a__U51(tt, z0) -> a__U52(a__isNatList(z0)) [0] a__U51(z0, z1) -> U51(z0, z1) [0] a__U52(tt) -> tt [0] a__U52(z0) -> U52(z0) [0] a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) [0] a__U61(z0, z1, z2) -> U61(z0, z1, z2) [0] a__U62(tt, z0) -> s(a__length(mark(z0))) [0] a__U62(z0, z1) -> U62(z0, z1) [0] a__isNat(0) -> tt [0] a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) [0] a__isNat(s(z0)) -> a__U21(a__isNat(z0)) [0] a__isNat(z0) -> isNat(z0) [0] a__isNatIList(z0) -> a__U31(a__isNatList(z0)) [0] a__isNatIList(zeros) -> tt [0] a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) [0] a__isNatIList(z0) -> isNatIList(z0) [0] a__isNatList(nil) -> tt [0] a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) [0] a__isNatList(z0) -> isNatList(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) [0] a__length(z0) -> length(z0) [0] mark(zeros) -> a__zeros [0] mark(U11(z0)) -> a__U11(mark(z0)) [0] mark(U21(z0)) -> a__U21(mark(z0)) [0] mark(U31(z0)) -> a__U31(mark(z0)) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(U42(z0)) -> a__U42(mark(z0)) [0] mark(isNatIList(z0)) -> a__isNatIList(z0) [0] mark(U51(z0, z1)) -> a__U51(mark(z0), z1) [0] mark(U52(z0)) -> a__U52(mark(z0)) [0] mark(isNatList(z0)) -> a__isNatList(z0) [0] mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) [0] mark(U62(z0, z1)) -> a__U62(mark(z0), z1) [0] mark(isNat(z0)) -> a__isNat(z0) [0] mark(length(z0)) -> a__length(mark(z0)) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(0) -> 0 [0] mark(tt) -> tt [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] a__zeros -> null_a__zeros [0] a__U11(v0) -> null_a__U11 [0] a__U21(v0) -> null_a__U21 [0] a__U31(v0) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U42(v0) -> null_a__U42 [0] a__U51(v0, v1) -> null_a__U51 [0] a__U52(v0) -> null_a__U52 [0] a__U61(v0, v1, v2) -> null_a__U61 [0] a__U62(v0, v1) -> null_a__U62 [0] a__isNat(v0) -> null_a__isNat [0] a__isNatIList(v0) -> null_a__isNatIList [0] a__isNatList(v0) -> null_a__isNatList [0] a__length(v0) -> null_a__length [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c16 tt :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c16 :: c18 -> c21:c22 -> c16 A__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c18 a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark A__ISNAT :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c21:c22 c18 :: c32 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c18 A__LENGTH :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c32 mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark MARK :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 A__ISNATILIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c26:c24 cons :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c26 :: c8 -> c21:c22 -> c26:c24 A__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c8 A__ISNATLIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c29 c29 :: c12 -> c21:c22 -> c29 A__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c12 c32 :: c16 -> c29 -> c32 a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c38 :: c8 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c40 :: c26:c24 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c41 :: c12 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c43 :: c29 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c44 :: c16 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c45 :: c18 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c46 :: c21:c22 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c47 :: c32 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 c48 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 s :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c51 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 c8 :: c26:c24 -> c8 c12 :: c29 -> c12 c21 :: c29 -> c21:c22 c22 :: c21:c22 -> c21:c22 c24 :: c29 -> c26:c24 U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c35 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c36 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c37 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c39 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c42 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark 0 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark nil :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark const :: c16 const1 :: c18 const2 :: c21:c22 const3 :: c32 const4 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 const5 :: c26:c24 const6 :: c8 const7 :: c29 const8 :: c12 Rewrite Strategy: INNERMOST ---------------------------------------- (51) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (52) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__U61(tt, z0, 0) -> c16(A__U62(tt, z0), A__ISNAT(0)) [1] A__U61(tt, z0, length(z0')) -> c16(A__U62(a__U11(a__isNatList(z0')), z0), A__ISNAT(length(z0'))) [1] A__U61(tt, z0, s(z0'')) -> c16(A__U62(a__U21(a__isNat(z0'')), z0), A__ISNAT(s(z0''))) [1] A__U61(tt, z0, z1) -> c16(A__U62(isNat(z1), z0), A__ISNAT(z1)) [1] A__U61(tt, z0, z1) -> c16(A__U62(null_a__isNat, z0), A__ISNAT(z1)) [1] A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros), MARK(zeros)) [1] A__U62(tt, U11(z01)) -> c18(A__LENGTH(a__U11(mark(z01))), MARK(U11(z01))) [1] A__U62(tt, U21(z02)) -> c18(A__LENGTH(a__U21(mark(z02))), MARK(U21(z02))) [1] A__U62(tt, U31(z03)) -> c18(A__LENGTH(a__U31(mark(z03))), MARK(U31(z03))) [1] A__U62(tt, U41(z04, z1')) -> c18(A__LENGTH(a__U41(mark(z04), z1')), MARK(U41(z04, z1'))) [1] A__U62(tt, U42(z05)) -> c18(A__LENGTH(a__U42(mark(z05))), MARK(U42(z05))) [1] A__U62(tt, isNatIList(z06)) -> c18(A__LENGTH(a__isNatIList(z06)), MARK(isNatIList(z06))) [1] A__U62(tt, U51(z07, z1'')) -> c18(A__LENGTH(a__U51(mark(z07), z1'')), MARK(U51(z07, z1''))) [1] A__U62(tt, U52(z08)) -> c18(A__LENGTH(a__U52(mark(z08))), MARK(U52(z08))) [1] A__U62(tt, isNatList(z09)) -> c18(A__LENGTH(a__isNatList(z09)), MARK(isNatList(z09))) [1] A__U62(tt, U61(z010, z11, z2')) -> c18(A__LENGTH(a__U61(mark(z010), z11, z2')), MARK(U61(z010, z11, z2'))) [1] A__U62(tt, U62(z011, z12)) -> c18(A__LENGTH(a__U62(mark(z011), z12)), MARK(U62(z011, z12))) [1] A__U62(tt, isNat(z012)) -> c18(A__LENGTH(a__isNat(z012)), MARK(isNat(z012))) [1] A__U62(tt, length(z013)) -> c18(A__LENGTH(a__length(mark(z013))), MARK(length(z013))) [1] A__U62(tt, cons(z014, z13)) -> c18(A__LENGTH(cons(mark(z014), z13)), MARK(cons(z014, z13))) [1] A__U62(tt, 0) -> c18(A__LENGTH(0), MARK(0)) [1] A__U62(tt, tt) -> c18(A__LENGTH(tt), MARK(tt)) [1] A__U62(tt, s(z015)) -> c18(A__LENGTH(s(mark(z015))), MARK(s(z015))) [1] A__U62(tt, nil) -> c18(A__LENGTH(nil), MARK(nil)) [1] A__U62(tt, z0) -> c18(A__LENGTH(null_mark), MARK(z0)) [1] A__ISNATILIST(cons(0, z1)) -> c26(A__U41(tt, z1), A__ISNAT(0)) [1] A__ISNATILIST(cons(length(z016), z1)) -> c26(A__U41(a__U11(a__isNatList(z016)), z1), A__ISNAT(length(z016))) [1] A__ISNATILIST(cons(s(z017), z1)) -> c26(A__U41(a__U21(a__isNat(z017)), z1), A__ISNAT(s(z017))) [1] A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(isNat(z0), z1), A__ISNAT(z0)) [1] A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(null_a__isNat, z1), A__ISNAT(z0)) [1] A__ISNATLIST(cons(0, z1)) -> c29(A__U51(tt, z1), A__ISNAT(0)) [1] A__ISNATLIST(cons(length(z018), z1)) -> c29(A__U51(a__U11(a__isNatList(z018)), z1), A__ISNAT(length(z018))) [1] A__ISNATLIST(cons(s(z019), z1)) -> c29(A__U51(a__U21(a__isNat(z019)), z1), A__ISNAT(s(z019))) [1] A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(isNat(z0), z1), A__ISNAT(z0)) [1] A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(null_a__isNat, z1), A__ISNAT(z0)) [1] A__LENGTH(cons(z0, nil)) -> c32(A__U61(tt, nil, z0), A__ISNATLIST(nil)) [1] A__LENGTH(cons(z0, cons(z020, z14))) -> c32(A__U61(a__U51(a__isNat(z020), z14), cons(z020, z14), z0), A__ISNATLIST(cons(z020, z14))) [1] A__LENGTH(cons(z0, z1)) -> c32(A__U61(isNatList(z1), z1, z0), A__ISNATLIST(z1)) [1] A__LENGTH(cons(z0, z1)) -> c32(A__U61(null_a__isNatList, z1, z0), A__ISNATLIST(z1)) [1] MARK(U41(zeros, z1)) -> c38(A__U41(a__zeros, z1), MARK(zeros)) [1] MARK(U41(U11(z021), z1)) -> c38(A__U41(a__U11(mark(z021)), z1), MARK(U11(z021))) [1] MARK(U41(U21(z022), z1)) -> c38(A__U41(a__U21(mark(z022)), z1), MARK(U21(z022))) [1] MARK(U41(U31(z023), z1)) -> c38(A__U41(a__U31(mark(z023)), z1), MARK(U31(z023))) [1] MARK(U41(U41(z024, z15), z1)) -> c38(A__U41(a__U41(mark(z024), z15), z1), MARK(U41(z024, z15))) [1] MARK(U41(U42(z025), z1)) -> c38(A__U41(a__U42(mark(z025)), z1), MARK(U42(z025))) [1] MARK(U41(isNatIList(z026), z1)) -> c38(A__U41(a__isNatIList(z026), z1), MARK(isNatIList(z026))) [1] MARK(U41(U51(z027, z16), z1)) -> c38(A__U41(a__U51(mark(z027), z16), z1), MARK(U51(z027, z16))) [1] MARK(U41(U52(z028), z1)) -> c38(A__U41(a__U52(mark(z028)), z1), MARK(U52(z028))) [1] MARK(U41(isNatList(z029), z1)) -> c38(A__U41(a__isNatList(z029), z1), MARK(isNatList(z029))) [1] MARK(U41(U61(z030, z17, z2''), z1)) -> c38(A__U41(a__U61(mark(z030), z17, z2''), z1), MARK(U61(z030, z17, z2''))) [1] MARK(U41(U62(z031, z18), z1)) -> c38(A__U41(a__U62(mark(z031), z18), z1), MARK(U62(z031, z18))) [1] MARK(U41(isNat(z032), z1)) -> c38(A__U41(a__isNat(z032), z1), MARK(isNat(z032))) [1] MARK(U41(length(z033), z1)) -> c38(A__U41(a__length(mark(z033)), z1), MARK(length(z033))) [1] MARK(U41(cons(z034, z19), z1)) -> c38(A__U41(cons(mark(z034), z19), z1), MARK(cons(z034, z19))) [1] MARK(U41(0, z1)) -> c38(A__U41(0, z1), MARK(0)) [1] MARK(U41(tt, z1)) -> c38(A__U41(tt, z1), MARK(tt)) [1] MARK(U41(s(z035), z1)) -> c38(A__U41(s(mark(z035)), z1), MARK(s(z035))) [1] MARK(U41(nil, z1)) -> c38(A__U41(nil, z1), MARK(nil)) [1] MARK(U41(z0, z1)) -> c38(A__U41(null_mark, z1), MARK(z0)) [1] MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) [1] MARK(U51(zeros, z1)) -> c41(A__U51(a__zeros, z1), MARK(zeros)) [1] MARK(U51(U11(z036), z1)) -> c41(A__U51(a__U11(mark(z036)), z1), MARK(U11(z036))) [1] MARK(U51(U21(z037), z1)) -> c41(A__U51(a__U21(mark(z037)), z1), MARK(U21(z037))) [1] MARK(U51(U31(z038), z1)) -> c41(A__U51(a__U31(mark(z038)), z1), MARK(U31(z038))) [1] MARK(U51(U41(z039, z110), z1)) -> c41(A__U51(a__U41(mark(z039), z110), z1), MARK(U41(z039, z110))) [1] MARK(U51(U42(z040), z1)) -> c41(A__U51(a__U42(mark(z040)), z1), MARK(U42(z040))) [1] MARK(U51(isNatIList(z041), z1)) -> c41(A__U51(a__isNatIList(z041), z1), MARK(isNatIList(z041))) [1] MARK(U51(U51(z042, z111), z1)) -> c41(A__U51(a__U51(mark(z042), z111), z1), MARK(U51(z042, z111))) [1] MARK(U51(U52(z043), z1)) -> c41(A__U51(a__U52(mark(z043)), z1), MARK(U52(z043))) [1] MARK(U51(isNatList(z044), z1)) -> c41(A__U51(a__isNatList(z044), z1), MARK(isNatList(z044))) [1] MARK(U51(U61(z045, z112, z21), z1)) -> c41(A__U51(a__U61(mark(z045), z112, z21), z1), MARK(U61(z045, z112, z21))) [1] MARK(U51(U62(z046, z113), z1)) -> c41(A__U51(a__U62(mark(z046), z113), z1), MARK(U62(z046, z113))) [1] MARK(U51(isNat(z047), z1)) -> c41(A__U51(a__isNat(z047), z1), MARK(isNat(z047))) [1] MARK(U51(length(z048), z1)) -> c41(A__U51(a__length(mark(z048)), z1), MARK(length(z048))) [1] MARK(U51(cons(z049, z114), z1)) -> c41(A__U51(cons(mark(z049), z114), z1), MARK(cons(z049, z114))) [1] MARK(U51(0, z1)) -> c41(A__U51(0, z1), MARK(0)) [1] MARK(U51(tt, z1)) -> c41(A__U51(tt, z1), MARK(tt)) [1] MARK(U51(s(z050), z1)) -> c41(A__U51(s(mark(z050)), z1), MARK(s(z050))) [1] MARK(U51(nil, z1)) -> c41(A__U51(nil, z1), MARK(nil)) [1] MARK(U51(z0, z1)) -> c41(A__U51(null_mark, z1), MARK(z0)) [1] MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) [1] MARK(U61(zeros, z1, z2)) -> c44(A__U61(a__zeros, z1, z2), MARK(zeros)) [1] MARK(U61(U11(z051), z1, z2)) -> c44(A__U61(a__U11(mark(z051)), z1, z2), MARK(U11(z051))) [1] MARK(U61(U21(z052), z1, z2)) -> c44(A__U61(a__U21(mark(z052)), z1, z2), MARK(U21(z052))) [1] MARK(U61(U31(z053), z1, z2)) -> c44(A__U61(a__U31(mark(z053)), z1, z2), MARK(U31(z053))) [1] MARK(U61(U41(z054, z115), z1, z2)) -> c44(A__U61(a__U41(mark(z054), z115), z1, z2), MARK(U41(z054, z115))) [1] MARK(U61(U42(z055), z1, z2)) -> c44(A__U61(a__U42(mark(z055)), z1, z2), MARK(U42(z055))) [1] MARK(U61(isNatIList(z056), z1, z2)) -> c44(A__U61(a__isNatIList(z056), z1, z2), MARK(isNatIList(z056))) [1] MARK(U61(U51(z057, z116), z1, z2)) -> c44(A__U61(a__U51(mark(z057), z116), z1, z2), MARK(U51(z057, z116))) [1] MARK(U61(U52(z058), z1, z2)) -> c44(A__U61(a__U52(mark(z058)), z1, z2), MARK(U52(z058))) [1] MARK(U61(isNatList(z059), z1, z2)) -> c44(A__U61(a__isNatList(z059), z1, z2), MARK(isNatList(z059))) [1] MARK(U61(U61(z060, z117, z22), z1, z2)) -> c44(A__U61(a__U61(mark(z060), z117, z22), z1, z2), MARK(U61(z060, z117, z22))) [1] MARK(U61(U62(z061, z118), z1, z2)) -> c44(A__U61(a__U62(mark(z061), z118), z1, z2), MARK(U62(z061, z118))) [1] MARK(U61(isNat(z062), z1, z2)) -> c44(A__U61(a__isNat(z062), z1, z2), MARK(isNat(z062))) [1] MARK(U61(length(z063), z1, z2)) -> c44(A__U61(a__length(mark(z063)), z1, z2), MARK(length(z063))) [1] MARK(U61(cons(z064, z119), z1, z2)) -> c44(A__U61(cons(mark(z064), z119), z1, z2), MARK(cons(z064, z119))) [1] MARK(U61(0, z1, z2)) -> c44(A__U61(0, z1, z2), MARK(0)) [1] MARK(U61(tt, z1, z2)) -> c44(A__U61(tt, z1, z2), MARK(tt)) [1] MARK(U61(s(z065), z1, z2)) -> c44(A__U61(s(mark(z065)), z1, z2), MARK(s(z065))) [1] MARK(U61(nil, z1, z2)) -> c44(A__U61(nil, z1, z2), MARK(nil)) [1] MARK(U61(z0, z1, z2)) -> c44(A__U61(null_mark, z1, z2), MARK(z0)) [1] MARK(U62(zeros, z1)) -> c45(A__U62(a__zeros, z1), MARK(zeros)) [1] MARK(U62(U11(z066), z1)) -> c45(A__U62(a__U11(mark(z066)), z1), MARK(U11(z066))) [1] MARK(U62(U21(z067), z1)) -> c45(A__U62(a__U21(mark(z067)), z1), MARK(U21(z067))) [1] MARK(U62(U31(z068), z1)) -> c45(A__U62(a__U31(mark(z068)), z1), MARK(U31(z068))) [1] MARK(U62(U41(z069, z120), z1)) -> c45(A__U62(a__U41(mark(z069), z120), z1), MARK(U41(z069, z120))) [1] MARK(U62(U42(z070), z1)) -> c45(A__U62(a__U42(mark(z070)), z1), MARK(U42(z070))) [1] MARK(U62(isNatIList(z071), z1)) -> c45(A__U62(a__isNatIList(z071), z1), MARK(isNatIList(z071))) [1] MARK(U62(U51(z072, z121), z1)) -> c45(A__U62(a__U51(mark(z072), z121), z1), MARK(U51(z072, z121))) [1] MARK(U62(U52(z073), z1)) -> c45(A__U62(a__U52(mark(z073)), z1), MARK(U52(z073))) [1] MARK(U62(isNatList(z074), z1)) -> c45(A__U62(a__isNatList(z074), z1), MARK(isNatList(z074))) [1] MARK(U62(U61(z075, z122, z23), z1)) -> c45(A__U62(a__U61(mark(z075), z122, z23), z1), MARK(U61(z075, z122, z23))) [1] MARK(U62(U62(z076, z123), z1)) -> c45(A__U62(a__U62(mark(z076), z123), z1), MARK(U62(z076, z123))) [1] MARK(U62(isNat(z077), z1)) -> c45(A__U62(a__isNat(z077), z1), MARK(isNat(z077))) [1] MARK(U62(length(z078), z1)) -> c45(A__U62(a__length(mark(z078)), z1), MARK(length(z078))) [1] MARK(U62(cons(z079, z124), z1)) -> c45(A__U62(cons(mark(z079), z124), z1), MARK(cons(z079, z124))) [1] MARK(U62(0, z1)) -> c45(A__U62(0, z1), MARK(0)) [1] MARK(U62(tt, z1)) -> c45(A__U62(tt, z1), MARK(tt)) [1] MARK(U62(s(z080), z1)) -> c45(A__U62(s(mark(z080)), z1), MARK(s(z080))) [1] MARK(U62(nil, z1)) -> c45(A__U62(nil, z1), MARK(nil)) [1] MARK(U62(z0, z1)) -> c45(A__U62(null_mark, z1), MARK(z0)) [1] MARK(isNat(z0)) -> c46(A__ISNAT(z0)) [1] MARK(length(zeros)) -> c47(A__LENGTH(a__zeros), MARK(zeros)) [1] MARK(length(U11(z081))) -> c47(A__LENGTH(a__U11(mark(z081))), MARK(U11(z081))) [1] MARK(length(U21(z082))) -> c47(A__LENGTH(a__U21(mark(z082))), MARK(U21(z082))) [1] MARK(length(U31(z083))) -> c47(A__LENGTH(a__U31(mark(z083))), MARK(U31(z083))) [1] MARK(length(U41(z084, z125))) -> c47(A__LENGTH(a__U41(mark(z084), z125)), MARK(U41(z084, z125))) [1] MARK(length(U42(z085))) -> c47(A__LENGTH(a__U42(mark(z085))), MARK(U42(z085))) [1] MARK(length(isNatIList(z086))) -> c47(A__LENGTH(a__isNatIList(z086)), MARK(isNatIList(z086))) [1] MARK(length(U51(z087, z126))) -> c47(A__LENGTH(a__U51(mark(z087), z126)), MARK(U51(z087, z126))) [1] MARK(length(U52(z088))) -> c47(A__LENGTH(a__U52(mark(z088))), MARK(U52(z088))) [1] MARK(length(isNatList(z089))) -> c47(A__LENGTH(a__isNatList(z089)), MARK(isNatList(z089))) [1] MARK(length(U61(z090, z127, z24))) -> c47(A__LENGTH(a__U61(mark(z090), z127, z24)), MARK(U61(z090, z127, z24))) [1] MARK(length(U62(z091, z128))) -> c47(A__LENGTH(a__U62(mark(z091), z128)), MARK(U62(z091, z128))) [1] MARK(length(isNat(z092))) -> c47(A__LENGTH(a__isNat(z092)), MARK(isNat(z092))) [1] MARK(length(length(z093))) -> c47(A__LENGTH(a__length(mark(z093))), MARK(length(z093))) [1] MARK(length(cons(z094, z129))) -> c47(A__LENGTH(cons(mark(z094), z129)), MARK(cons(z094, z129))) [1] MARK(length(0)) -> c47(A__LENGTH(0), MARK(0)) [1] MARK(length(tt)) -> c47(A__LENGTH(tt), MARK(tt)) [1] MARK(length(s(z095))) -> c47(A__LENGTH(s(mark(z095))), MARK(s(z095))) [1] MARK(length(nil)) -> c47(A__LENGTH(nil), MARK(nil)) [1] MARK(length(z0)) -> c47(A__LENGTH(null_mark), MARK(z0)) [1] MARK(cons(z0, z1)) -> c48(MARK(z0)) [1] MARK(s(z0)) -> c51(MARK(z0)) [1] A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) [1] A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) [1] A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) [1] A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) [1] A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) [1] MARK(U11(z0)) -> c35(MARK(z0)) [1] MARK(U21(z0)) -> c36(MARK(z0)) [1] MARK(U31(z0)) -> c37(MARK(z0)) [1] MARK(U42(z0)) -> c39(MARK(z0)) [1] MARK(U52(z0)) -> c42(MARK(z0)) [1] a__zeros -> cons(0, zeros) [0] a__zeros -> zeros [0] a__U11(tt) -> tt [0] a__U11(z0) -> U11(z0) [0] a__U21(tt) -> tt [0] a__U21(z0) -> U21(z0) [0] a__U31(tt) -> tt [0] a__U31(z0) -> U31(z0) [0] a__U41(tt, z0) -> a__U42(a__U31(a__isNatList(z0))) [0] a__U41(tt, zeros) -> a__U42(tt) [0] a__U41(tt, cons(z096, z130)) -> a__U42(a__U41(a__isNat(z096), z130)) [0] a__U41(tt, z0) -> a__U42(isNatIList(z0)) [0] a__U41(tt, z0) -> a__U42(null_a__isNatIList) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U42(tt) -> tt [0] a__U42(z0) -> U42(z0) [0] a__U51(tt, nil) -> a__U52(tt) [0] a__U51(tt, cons(z097, z131)) -> a__U52(a__U51(a__isNat(z097), z131)) [0] a__U51(tt, z0) -> a__U52(isNatList(z0)) [0] a__U51(tt, z0) -> a__U52(null_a__isNatList) [0] a__U51(z0, z1) -> U51(z0, z1) [0] a__U52(tt) -> tt [0] a__U52(z0) -> U52(z0) [0] a__U61(tt, z0, 0) -> a__U62(tt, z0) [0] a__U61(tt, z0, length(z098)) -> a__U62(a__U11(a__isNatList(z098)), z0) [0] a__U61(tt, z0, s(z099)) -> a__U62(a__U21(a__isNat(z099)), z0) [0] a__U61(tt, z0, z1) -> a__U62(isNat(z1), z0) [0] a__U61(tt, z0, z1) -> a__U62(null_a__isNat, z0) [0] a__U61(z0, z1, z2) -> U61(z0, z1, z2) [0] a__U62(tt, zeros) -> s(a__length(a__zeros)) [0] a__U62(tt, U11(z0100)) -> s(a__length(a__U11(mark(z0100)))) [0] a__U62(tt, U21(z0101)) -> s(a__length(a__U21(mark(z0101)))) [0] a__U62(tt, U31(z0102)) -> s(a__length(a__U31(mark(z0102)))) [0] a__U62(tt, U41(z0103, z132)) -> s(a__length(a__U41(mark(z0103), z132))) [0] a__U62(tt, U42(z0104)) -> s(a__length(a__U42(mark(z0104)))) [0] a__U62(tt, isNatIList(z0105)) -> s(a__length(a__isNatIList(z0105))) [0] a__U62(tt, U51(z0106, z133)) -> s(a__length(a__U51(mark(z0106), z133))) [0] a__U62(tt, U52(z0107)) -> s(a__length(a__U52(mark(z0107)))) [0] a__U62(tt, isNatList(z0108)) -> s(a__length(a__isNatList(z0108))) [0] a__U62(tt, U61(z0109, z134, z25)) -> s(a__length(a__U61(mark(z0109), z134, z25))) [0] a__U62(tt, U62(z0110, z135)) -> s(a__length(a__U62(mark(z0110), z135))) [0] a__U62(tt, isNat(z0111)) -> s(a__length(a__isNat(z0111))) [0] a__U62(tt, length(z0112)) -> s(a__length(a__length(mark(z0112)))) [0] a__U62(tt, cons(z0113, z136)) -> s(a__length(cons(mark(z0113), z136))) [0] a__U62(tt, 0) -> s(a__length(0)) [0] a__U62(tt, tt) -> s(a__length(tt)) [0] a__U62(tt, s(z0114)) -> s(a__length(s(mark(z0114)))) [0] a__U62(tt, nil) -> s(a__length(nil)) [0] a__U62(tt, z0) -> s(a__length(null_mark)) [0] a__U62(z0, z1) -> U62(z0, z1) [0] a__isNat(0) -> tt [0] a__isNat(length(nil)) -> a__U11(tt) [0] a__isNat(length(cons(z0115, z137))) -> a__U11(a__U51(a__isNat(z0115), z137)) [0] a__isNat(length(z0)) -> a__U11(isNatList(z0)) [0] a__isNat(length(z0)) -> a__U11(null_a__isNatList) [0] a__isNat(s(0)) -> a__U21(tt) [0] a__isNat(s(length(z0116))) -> a__U21(a__U11(a__isNatList(z0116))) [0] a__isNat(s(s(z0117))) -> a__U21(a__U21(a__isNat(z0117))) [0] a__isNat(s(z0)) -> a__U21(isNat(z0)) [0] a__isNat(s(z0)) -> a__U21(null_a__isNat) [0] a__isNat(z0) -> isNat(z0) [0] a__isNatIList(nil) -> a__U31(tt) [0] a__isNatIList(cons(z0118, z138)) -> a__U31(a__U51(a__isNat(z0118), z138)) [0] a__isNatIList(z0) -> a__U31(isNatList(z0)) [0] a__isNatIList(z0) -> a__U31(null_a__isNatList) [0] a__isNatIList(zeros) -> tt [0] a__isNatIList(cons(0, z1)) -> a__U41(tt, z1) [0] a__isNatIList(cons(length(z0119), z1)) -> a__U41(a__U11(a__isNatList(z0119)), z1) [0] a__isNatIList(cons(s(z0120), z1)) -> a__U41(a__U21(a__isNat(z0120)), z1) [0] a__isNatIList(cons(z0, z1)) -> a__U41(isNat(z0), z1) [0] a__isNatIList(cons(z0, z1)) -> a__U41(null_a__isNat, z1) [0] a__isNatIList(z0) -> isNatIList(z0) [0] a__isNatList(nil) -> tt [0] a__isNatList(cons(0, z1)) -> a__U51(tt, z1) [0] a__isNatList(cons(length(z0121), z1)) -> a__U51(a__U11(a__isNatList(z0121)), z1) [0] a__isNatList(cons(s(z0122), z1)) -> a__U51(a__U21(a__isNat(z0122)), z1) [0] a__isNatList(cons(z0, z1)) -> a__U51(isNat(z0), z1) [0] a__isNatList(cons(z0, z1)) -> a__U51(null_a__isNat, z1) [0] a__isNatList(z0) -> isNatList(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, nil)) -> a__U61(tt, nil, z0) [0] a__length(cons(z0, cons(z0123, z139))) -> a__U61(a__U51(a__isNat(z0123), z139), cons(z0123, z139), z0) [0] a__length(cons(z0, z1)) -> a__U61(isNatList(z1), z1, z0) [0] a__length(cons(z0, z1)) -> a__U61(null_a__isNatList, z1, z0) [0] a__length(z0) -> length(z0) [0] mark(zeros) -> a__zeros [0] mark(U11(zeros)) -> a__U11(a__zeros) [0] mark(U11(U11(z0124))) -> a__U11(a__U11(mark(z0124))) [0] mark(U11(U21(z0125))) -> a__U11(a__U21(mark(z0125))) [0] mark(U11(U31(z0126))) -> a__U11(a__U31(mark(z0126))) [0] mark(U11(U41(z0127, z140))) -> a__U11(a__U41(mark(z0127), z140)) [0] mark(U11(U42(z0128))) -> a__U11(a__U42(mark(z0128))) [0] mark(U11(isNatIList(z0129))) -> a__U11(a__isNatIList(z0129)) [0] mark(U11(U51(z0130, z141))) -> a__U11(a__U51(mark(z0130), z141)) [0] mark(U11(U52(z0131))) -> a__U11(a__U52(mark(z0131))) [0] mark(U11(isNatList(z0132))) -> a__U11(a__isNatList(z0132)) [0] mark(U11(U61(z0133, z142, z26))) -> a__U11(a__U61(mark(z0133), z142, z26)) [0] mark(U11(U62(z0134, z143))) -> a__U11(a__U62(mark(z0134), z143)) [0] mark(U11(isNat(z0135))) -> a__U11(a__isNat(z0135)) [0] mark(U11(length(z0136))) -> a__U11(a__length(mark(z0136))) [0] mark(U11(cons(z0137, z144))) -> a__U11(cons(mark(z0137), z144)) [0] mark(U11(0)) -> a__U11(0) [0] mark(U11(tt)) -> a__U11(tt) [0] mark(U11(s(z0138))) -> a__U11(s(mark(z0138))) [0] mark(U11(nil)) -> a__U11(nil) [0] mark(U11(z0)) -> a__U11(null_mark) [0] mark(U21(zeros)) -> a__U21(a__zeros) [0] mark(U21(U11(z0139))) -> a__U21(a__U11(mark(z0139))) [0] mark(U21(U21(z0140))) -> a__U21(a__U21(mark(z0140))) [0] mark(U21(U31(z0141))) -> a__U21(a__U31(mark(z0141))) [0] mark(U21(U41(z0142, z145))) -> a__U21(a__U41(mark(z0142), z145)) [0] mark(U21(U42(z0143))) -> a__U21(a__U42(mark(z0143))) [0] mark(U21(isNatIList(z0144))) -> a__U21(a__isNatIList(z0144)) [0] mark(U21(U51(z0145, z146))) -> a__U21(a__U51(mark(z0145), z146)) [0] mark(U21(U52(z0146))) -> a__U21(a__U52(mark(z0146))) [0] mark(U21(isNatList(z0147))) -> a__U21(a__isNatList(z0147)) [0] mark(U21(U61(z0148, z147, z27))) -> a__U21(a__U61(mark(z0148), z147, z27)) [0] mark(U21(U62(z0149, z148))) -> a__U21(a__U62(mark(z0149), z148)) [0] mark(U21(isNat(z0150))) -> a__U21(a__isNat(z0150)) [0] mark(U21(length(z0151))) -> a__U21(a__length(mark(z0151))) [0] mark(U21(cons(z0152, z149))) -> a__U21(cons(mark(z0152), z149)) [0] mark(U21(0)) -> a__U21(0) [0] mark(U21(tt)) -> a__U21(tt) [0] mark(U21(s(z0153))) -> a__U21(s(mark(z0153))) [0] mark(U21(nil)) -> a__U21(nil) [0] mark(U21(z0)) -> a__U21(null_mark) [0] mark(U31(zeros)) -> a__U31(a__zeros) [0] mark(U31(U11(z0154))) -> a__U31(a__U11(mark(z0154))) [0] mark(U31(U21(z0155))) -> a__U31(a__U21(mark(z0155))) [0] mark(U31(U31(z0156))) -> a__U31(a__U31(mark(z0156))) [0] mark(U31(U41(z0157, z150))) -> a__U31(a__U41(mark(z0157), z150)) [0] mark(U31(U42(z0158))) -> a__U31(a__U42(mark(z0158))) [0] mark(U31(isNatIList(z0159))) -> a__U31(a__isNatIList(z0159)) [0] mark(U31(U51(z0160, z151))) -> a__U31(a__U51(mark(z0160), z151)) [0] mark(U31(U52(z0161))) -> a__U31(a__U52(mark(z0161))) [0] mark(U31(isNatList(z0162))) -> a__U31(a__isNatList(z0162)) [0] mark(U31(U61(z0163, z152, z28))) -> a__U31(a__U61(mark(z0163), z152, z28)) [0] mark(U31(U62(z0164, z153))) -> a__U31(a__U62(mark(z0164), z153)) [0] mark(U31(isNat(z0165))) -> a__U31(a__isNat(z0165)) [0] mark(U31(length(z0166))) -> a__U31(a__length(mark(z0166))) [0] mark(U31(cons(z0167, z154))) -> a__U31(cons(mark(z0167), z154)) [0] mark(U31(0)) -> a__U31(0) [0] mark(U31(tt)) -> a__U31(tt) [0] mark(U31(s(z0168))) -> a__U31(s(mark(z0168))) [0] mark(U31(nil)) -> a__U31(nil) [0] mark(U31(z0)) -> a__U31(null_mark) [0] mark(U41(zeros, z1)) -> a__U41(a__zeros, z1) [0] mark(U41(U11(z0169), z1)) -> a__U41(a__U11(mark(z0169)), z1) [0] mark(U41(U21(z0170), z1)) -> a__U41(a__U21(mark(z0170)), z1) [0] mark(U41(U31(z0171), z1)) -> a__U41(a__U31(mark(z0171)), z1) [0] mark(U41(U41(z0172, z155), z1)) -> a__U41(a__U41(mark(z0172), z155), z1) [0] mark(U41(U42(z0173), z1)) -> a__U41(a__U42(mark(z0173)), z1) [0] mark(U41(isNatIList(z0174), z1)) -> a__U41(a__isNatIList(z0174), z1) [0] mark(U41(U51(z0175, z156), z1)) -> a__U41(a__U51(mark(z0175), z156), z1) [0] mark(U41(U52(z0176), z1)) -> a__U41(a__U52(mark(z0176)), z1) [0] mark(U41(isNatList(z0177), z1)) -> a__U41(a__isNatList(z0177), z1) [0] mark(U41(U61(z0178, z157, z29), z1)) -> a__U41(a__U61(mark(z0178), z157, z29), z1) [0] mark(U41(U62(z0179, z158), z1)) -> a__U41(a__U62(mark(z0179), z158), z1) [0] mark(U41(isNat(z0180), z1)) -> a__U41(a__isNat(z0180), z1) [0] mark(U41(length(z0181), z1)) -> a__U41(a__length(mark(z0181)), z1) [0] mark(U41(cons(z0182, z159), z1)) -> a__U41(cons(mark(z0182), z159), z1) [0] mark(U41(0, z1)) -> a__U41(0, z1) [0] mark(U41(tt, z1)) -> a__U41(tt, z1) [0] mark(U41(s(z0183), z1)) -> a__U41(s(mark(z0183)), z1) [0] mark(U41(nil, z1)) -> a__U41(nil, z1) [0] mark(U41(z0, z1)) -> a__U41(null_mark, z1) [0] mark(U42(zeros)) -> a__U42(a__zeros) [0] mark(U42(U11(z0184))) -> a__U42(a__U11(mark(z0184))) [0] mark(U42(U21(z0185))) -> a__U42(a__U21(mark(z0185))) [0] mark(U42(U31(z0186))) -> a__U42(a__U31(mark(z0186))) [0] mark(U42(U41(z0187, z160))) -> a__U42(a__U41(mark(z0187), z160)) [0] mark(U42(U42(z0188))) -> a__U42(a__U42(mark(z0188))) [0] mark(U42(isNatIList(z0189))) -> a__U42(a__isNatIList(z0189)) [0] mark(U42(U51(z0190, z161))) -> a__U42(a__U51(mark(z0190), z161)) [0] mark(U42(U52(z0191))) -> a__U42(a__U52(mark(z0191))) [0] mark(U42(isNatList(z0192))) -> a__U42(a__isNatList(z0192)) [0] mark(U42(U61(z0193, z162, z210))) -> a__U42(a__U61(mark(z0193), z162, z210)) [0] mark(U42(U62(z0194, z163))) -> a__U42(a__U62(mark(z0194), z163)) [0] mark(U42(isNat(z0195))) -> a__U42(a__isNat(z0195)) [0] mark(U42(length(z0196))) -> a__U42(a__length(mark(z0196))) [0] mark(U42(cons(z0197, z164))) -> a__U42(cons(mark(z0197), z164)) [0] mark(U42(0)) -> a__U42(0) [0] mark(U42(tt)) -> a__U42(tt) [0] mark(U42(s(z0198))) -> a__U42(s(mark(z0198))) [0] mark(U42(nil)) -> a__U42(nil) [0] mark(U42(z0)) -> a__U42(null_mark) [0] mark(isNatIList(z0)) -> a__isNatIList(z0) [0] mark(U51(zeros, z1)) -> a__U51(a__zeros, z1) [0] mark(U51(U11(z0199), z1)) -> a__U51(a__U11(mark(z0199)), z1) [0] mark(U51(U21(z0200), z1)) -> a__U51(a__U21(mark(z0200)), z1) [0] mark(U51(U31(z0201), z1)) -> a__U51(a__U31(mark(z0201)), z1) [0] mark(U51(U41(z0202, z165), z1)) -> a__U51(a__U41(mark(z0202), z165), z1) [0] mark(U51(U42(z0203), z1)) -> a__U51(a__U42(mark(z0203)), z1) [0] mark(U51(isNatIList(z0204), z1)) -> a__U51(a__isNatIList(z0204), z1) [0] mark(U51(U51(z0205, z166), z1)) -> a__U51(a__U51(mark(z0205), z166), z1) [0] mark(U51(U52(z0206), z1)) -> a__U51(a__U52(mark(z0206)), z1) [0] mark(U51(isNatList(z0207), z1)) -> a__U51(a__isNatList(z0207), z1) [0] mark(U51(U61(z0208, z167, z211), z1)) -> a__U51(a__U61(mark(z0208), z167, z211), z1) [0] mark(U51(U62(z0209, z168), z1)) -> a__U51(a__U62(mark(z0209), z168), z1) [0] mark(U51(isNat(z0210), z1)) -> a__U51(a__isNat(z0210), z1) [0] mark(U51(length(z0211), z1)) -> a__U51(a__length(mark(z0211)), z1) [0] mark(U51(cons(z0212, z169), z1)) -> a__U51(cons(mark(z0212), z169), z1) [0] mark(U51(0, z1)) -> a__U51(0, z1) [0] mark(U51(tt, z1)) -> a__U51(tt, z1) [0] mark(U51(s(z0213), z1)) -> a__U51(s(mark(z0213)), z1) [0] mark(U51(nil, z1)) -> a__U51(nil, z1) [0] mark(U51(z0, z1)) -> a__U51(null_mark, z1) [0] mark(U52(zeros)) -> a__U52(a__zeros) [0] mark(U52(U11(z0214))) -> a__U52(a__U11(mark(z0214))) [0] mark(U52(U21(z0215))) -> a__U52(a__U21(mark(z0215))) [0] mark(U52(U31(z0216))) -> a__U52(a__U31(mark(z0216))) [0] mark(U52(U41(z0217, z170))) -> a__U52(a__U41(mark(z0217), z170)) [0] mark(U52(U42(z0218))) -> a__U52(a__U42(mark(z0218))) [0] mark(U52(isNatIList(z0219))) -> a__U52(a__isNatIList(z0219)) [0] mark(U52(U51(z0220, z171))) -> a__U52(a__U51(mark(z0220), z171)) [0] mark(U52(U52(z0221))) -> a__U52(a__U52(mark(z0221))) [0] mark(U52(isNatList(z0222))) -> a__U52(a__isNatList(z0222)) [0] mark(U52(U61(z0223, z172, z212))) -> a__U52(a__U61(mark(z0223), z172, z212)) [0] mark(U52(U62(z0224, z173))) -> a__U52(a__U62(mark(z0224), z173)) [0] mark(U52(isNat(z0225))) -> a__U52(a__isNat(z0225)) [0] mark(U52(length(z0226))) -> a__U52(a__length(mark(z0226))) [0] mark(U52(cons(z0227, z174))) -> a__U52(cons(mark(z0227), z174)) [0] mark(U52(0)) -> a__U52(0) [0] mark(U52(tt)) -> a__U52(tt) [0] mark(U52(s(z0228))) -> a__U52(s(mark(z0228))) [0] mark(U52(nil)) -> a__U52(nil) [0] mark(U52(z0)) -> a__U52(null_mark) [0] mark(isNatList(z0)) -> a__isNatList(z0) [0] mark(U61(zeros, z1, z2)) -> a__U61(a__zeros, z1, z2) [0] mark(U61(U11(z0229), z1, z2)) -> a__U61(a__U11(mark(z0229)), z1, z2) [0] mark(U61(U21(z0230), z1, z2)) -> a__U61(a__U21(mark(z0230)), z1, z2) [0] mark(U61(U31(z0231), z1, z2)) -> a__U61(a__U31(mark(z0231)), z1, z2) [0] mark(U61(U41(z0232, z175), z1, z2)) -> a__U61(a__U41(mark(z0232), z175), z1, z2) [0] mark(U61(U42(z0233), z1, z2)) -> a__U61(a__U42(mark(z0233)), z1, z2) [0] mark(U61(isNatIList(z0234), z1, z2)) -> a__U61(a__isNatIList(z0234), z1, z2) [0] mark(U61(U51(z0235, z176), z1, z2)) -> a__U61(a__U51(mark(z0235), z176), z1, z2) [0] mark(U61(U52(z0236), z1, z2)) -> a__U61(a__U52(mark(z0236)), z1, z2) [0] mark(U61(isNatList(z0237), z1, z2)) -> a__U61(a__isNatList(z0237), z1, z2) [0] mark(U61(U61(z0238, z177, z213), z1, z2)) -> a__U61(a__U61(mark(z0238), z177, z213), z1, z2) [0] mark(U61(U62(z0239, z178), z1, z2)) -> a__U61(a__U62(mark(z0239), z178), z1, z2) [0] mark(U61(isNat(z0240), z1, z2)) -> a__U61(a__isNat(z0240), z1, z2) [0] mark(U61(length(z0241), z1, z2)) -> a__U61(a__length(mark(z0241)), z1, z2) [0] mark(U61(cons(z0242, z179), z1, z2)) -> a__U61(cons(mark(z0242), z179), z1, z2) [0] mark(U61(0, z1, z2)) -> a__U61(0, z1, z2) [0] mark(U61(tt, z1, z2)) -> a__U61(tt, z1, z2) [0] mark(U61(s(z0243), z1, z2)) -> a__U61(s(mark(z0243)), z1, z2) [0] mark(U61(nil, z1, z2)) -> a__U61(nil, z1, z2) [0] mark(U61(z0, z1, z2)) -> a__U61(null_mark, z1, z2) [0] mark(U62(zeros, z1)) -> a__U62(a__zeros, z1) [0] mark(U62(U11(z0244), z1)) -> a__U62(a__U11(mark(z0244)), z1) [0] mark(U62(U21(z0245), z1)) -> a__U62(a__U21(mark(z0245)), z1) [0] mark(U62(U31(z0246), z1)) -> a__U62(a__U31(mark(z0246)), z1) [0] mark(U62(U41(z0247, z180), z1)) -> a__U62(a__U41(mark(z0247), z180), z1) [0] mark(U62(U42(z0248), z1)) -> a__U62(a__U42(mark(z0248)), z1) [0] mark(U62(isNatIList(z0249), z1)) -> a__U62(a__isNatIList(z0249), z1) [0] mark(U62(U51(z0250, z181), z1)) -> a__U62(a__U51(mark(z0250), z181), z1) [0] mark(U62(U52(z0251), z1)) -> a__U62(a__U52(mark(z0251)), z1) [0] mark(U62(isNatList(z0252), z1)) -> a__U62(a__isNatList(z0252), z1) [0] mark(U62(U61(z0253, z182, z214), z1)) -> a__U62(a__U61(mark(z0253), z182, z214), z1) [0] mark(U62(U62(z0254, z183), z1)) -> a__U62(a__U62(mark(z0254), z183), z1) [0] mark(U62(isNat(z0255), z1)) -> a__U62(a__isNat(z0255), z1) [0] mark(U62(length(z0256), z1)) -> a__U62(a__length(mark(z0256)), z1) [0] mark(U62(cons(z0257, z184), z1)) -> a__U62(cons(mark(z0257), z184), z1) [0] mark(U62(0, z1)) -> a__U62(0, z1) [0] mark(U62(tt, z1)) -> a__U62(tt, z1) [0] mark(U62(s(z0258), z1)) -> a__U62(s(mark(z0258)), z1) [0] mark(U62(nil, z1)) -> a__U62(nil, z1) [0] mark(U62(z0, z1)) -> a__U62(null_mark, z1) [0] mark(isNat(z0)) -> a__isNat(z0) [0] mark(length(zeros)) -> a__length(a__zeros) [0] mark(length(U11(z0259))) -> a__length(a__U11(mark(z0259))) [0] mark(length(U21(z0260))) -> a__length(a__U21(mark(z0260))) [0] mark(length(U31(z0261))) -> a__length(a__U31(mark(z0261))) [0] mark(length(U41(z0262, z185))) -> a__length(a__U41(mark(z0262), z185)) [0] mark(length(U42(z0263))) -> a__length(a__U42(mark(z0263))) [0] mark(length(isNatIList(z0264))) -> a__length(a__isNatIList(z0264)) [0] mark(length(U51(z0265, z186))) -> a__length(a__U51(mark(z0265), z186)) [0] mark(length(U52(z0266))) -> a__length(a__U52(mark(z0266))) [0] mark(length(isNatList(z0267))) -> a__length(a__isNatList(z0267)) [0] mark(length(U61(z0268, z187, z215))) -> a__length(a__U61(mark(z0268), z187, z215)) [0] mark(length(U62(z0269, z188))) -> a__length(a__U62(mark(z0269), z188)) [0] mark(length(isNat(z0270))) -> a__length(a__isNat(z0270)) [0] mark(length(length(z0271))) -> a__length(a__length(mark(z0271))) [0] mark(length(cons(z0272, z189))) -> a__length(cons(mark(z0272), z189)) [0] mark(length(0)) -> a__length(0) [0] mark(length(tt)) -> a__length(tt) [0] mark(length(s(z0273))) -> a__length(s(mark(z0273))) [0] mark(length(nil)) -> a__length(nil) [0] mark(length(z0)) -> a__length(null_mark) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(0) -> 0 [0] mark(tt) -> tt [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] a__zeros -> null_a__zeros [0] a__U11(v0) -> null_a__U11 [0] a__U21(v0) -> null_a__U21 [0] a__U31(v0) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U42(v0) -> null_a__U42 [0] a__U51(v0, v1) -> null_a__U51 [0] a__U52(v0) -> null_a__U52 [0] a__U61(v0, v1, v2) -> null_a__U61 [0] a__U62(v0, v1) -> null_a__U62 [0] a__isNat(v0) -> null_a__isNat [0] a__isNatIList(v0) -> null_a__isNatIList [0] a__isNatList(v0) -> null_a__isNatList [0] a__length(v0) -> null_a__length [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c16 tt :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c16 :: c18 -> c21:c22 -> c16 A__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c18 a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark A__ISNAT :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c21:c22 c18 :: c32 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c18 A__LENGTH :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c32 mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark MARK :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 A__ISNATILIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c26:c24 cons :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c26 :: c8 -> c21:c22 -> c26:c24 A__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c8 A__ISNATLIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c29 c29 :: c12 -> c21:c22 -> c29 A__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c12 c32 :: c16 -> c29 -> c32 a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c38 :: c8 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c40 :: c26:c24 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c41 :: c12 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c43 :: c29 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c44 :: c16 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c45 :: c18 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c46 :: c21:c22 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c47 :: c32 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 c48 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 s :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c51 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 c8 :: c26:c24 -> c8 c12 :: c29 -> c12 c21 :: c29 -> c21:c22 c22 :: c21:c22 -> c21:c22 c24 :: c29 -> c26:c24 U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c35 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c36 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c37 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c39 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c42 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark 0 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark nil :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark const :: c16 const1 :: c18 const2 :: c21:c22 const3 :: c32 const4 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42 const5 :: c26:c24 const6 :: c8 const7 :: c29 const8 :: c12 Rewrite Strategy: INNERMOST ---------------------------------------- (53) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: tt => 2 0 => 0 zeros => 3 nil => 1 null_a__zeros => 0 null_a__U11 => 0 null_a__U21 => 0 null_a__U31 => 0 null_a__U41 => 0 null_a__U42 => 0 null_a__U51 => 0 null_a__U52 => 0 null_a__U61 => 0 null_a__U62 => 0 null_a__isNat => 0 null_a__isNatIList => 0 null_a__isNatList => 0 null_a__length => 0 null_mark => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 const4 => 0 const5 => 0 const6 => 0 const7 => 0 const8 => 0 ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: A__ISNAT(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 1 + z0, z0 >= 0 A__ISNAT(z) -{ 1 }-> 1 + A__ISNAT(z0) :|: z = 1 + z0, z0 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = z0, z0 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__U21(a__isNat(z017)), z1) + A__ISNAT(1 + z017) :|: z1 >= 0, z = 1 + (1 + z017) + z1, z017 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__U11(a__isNatList(z016)), z1) + A__ISNAT(1 + z016) :|: z1 >= 0, z016 >= 0, z = 1 + (1 + z016) + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(2, z1) + A__ISNAT(0) :|: z1 >= 0, z = 1 + 0 + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(1 + z0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__U21(a__isNat(z019)), z1) + A__ISNAT(1 + z019) :|: z019 >= 0, z1 >= 0, z = 1 + (1 + z019) + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__U11(a__isNatList(z018)), z1) + A__ISNAT(1 + z018) :|: z1 >= 0, z = 1 + (1 + z018) + z1, z018 >= 0 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(2, z1) + A__ISNAT(0) :|: z1 >= 0, z = 1 + 0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(1 + z0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(a__U51(a__isNat(z020), z14), 1 + z020 + z14, z0) + A__ISNATLIST(1 + z020 + z14) :|: z0 >= 0, z = 1 + z0 + (1 + z020 + z14), z020 >= 0, z14 >= 0 A__LENGTH(z) -{ 1 }-> 1 + A__U61(2, 1, z0) + A__ISNATLIST(1) :|: z0 >= 0, z = 1 + z0 + 1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(0, z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(1 + z1, z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__U41(z, z') -{ 1 }-> 1 + A__ISNATILIST(z0) :|: z = 2, z0 >= 0, z' = z0 A__U51(z, z') -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 2, z0 >= 0, z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__U21(a__isNat(z0'')), z0) + A__ISNAT(1 + z0'') :|: z = 2, z'' = 1 + z0'', z0 >= 0, z0'' >= 0, z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__U11(a__isNatList(z0')), z0) + A__ISNAT(1 + z0') :|: z = 2, z0' >= 0, z0 >= 0, z'' = 1 + z0', z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(2, z0) + A__ISNAT(0) :|: z = 2, z'' = 0, z0 >= 0, z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(0, z0) + A__ISNAT(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(1 + z1, z0) + A__ISNAT(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__zeros) + MARK(3) :|: z = 2, z' = 3 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__length(mark(z013))) + MARK(1 + z013) :|: z = 2, z013 >= 0, z' = 1 + z013 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNatList(z09)) + MARK(1 + z09) :|: z = 2, z' = 1 + z09, z09 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNatIList(z06)) + MARK(1 + z06) :|: z = 2, z06 >= 0, z' = 1 + z06 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNat(z012)) + MARK(1 + z012) :|: z = 2, z' = 1 + z012, z012 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U62(mark(z011), z12)) + MARK(1 + z011 + z12) :|: z = 2, z011 >= 0, z' = 1 + z011 + z12, z12 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U61(mark(z010), z11, z2')) + MARK(1 + z010 + z11 + z2') :|: z = 2, z' = 1 + z010 + z11 + z2', z11 >= 0, z2' >= 0, z010 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U52(mark(z08))) + MARK(1 + z08) :|: z = 2, z08 >= 0, z' = 1 + z08 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U51(mark(z07), z1'')) + MARK(1 + z07 + z1'') :|: z = 2, z07 >= 0, z' = 1 + z07 + z1'', z1'' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U42(mark(z05))) + MARK(1 + z05) :|: z = 2, z05 >= 0, z' = 1 + z05 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U41(mark(z04), z1')) + MARK(1 + z04 + z1') :|: z = 2, z04 >= 0, z' = 1 + z04 + z1', z1' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U31(mark(z03))) + MARK(1 + z03) :|: z = 2, z' = 1 + z03, z03 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U21(mark(z02))) + MARK(1 + z02) :|: z = 2, z02 >= 0, z' = 1 + z02 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U11(mark(z01))) + MARK(1 + z01) :|: z = 2, z01 >= 0, z' = 1 + z01 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(2) + MARK(2) :|: z = 2, z' = 2 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1) + MARK(1) :|: z = 2, z' = 1 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(0) :|: z = 2, z' = 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + mark(z015)) + MARK(1 + z015) :|: z = 2, z015 >= 0, z' = 1 + z015 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + mark(z014) + z13) + MARK(1 + z014 + z13) :|: z = 2, z' = 1 + z014 + z13, z014 >= 0, z13 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATILIST(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNAT(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__zeros, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__length(mark(z078)), z1) + MARK(1 + z078) :|: z = 1 + (1 + z078) + z1, z1 >= 0, z078 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__isNatList(z074), z1) + MARK(1 + z074) :|: z1 >= 0, z074 >= 0, z = 1 + (1 + z074) + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__isNatIList(z071), z1) + MARK(1 + z071) :|: z = 1 + (1 + z071) + z1, z1 >= 0, z071 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__isNat(z077), z1) + MARK(1 + z077) :|: z1 >= 0, z = 1 + (1 + z077) + z1, z077 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U62(mark(z076), z123), z1) + MARK(1 + z076 + z123) :|: z1 >= 0, z = 1 + (1 + z076 + z123) + z1, z123 >= 0, z076 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U61(mark(z075), z122, z23), z1) + MARK(1 + z075 + z122 + z23) :|: z1 >= 0, z122 >= 0, z23 >= 0, z = 1 + (1 + z075 + z122 + z23) + z1, z075 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U52(mark(z073)), z1) + MARK(1 + z073) :|: z1 >= 0, z = 1 + (1 + z073) + z1, z073 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U51(mark(z072), z121), z1) + MARK(1 + z072 + z121) :|: z = 1 + (1 + z072 + z121) + z1, z1 >= 0, z121 >= 0, z072 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U42(mark(z070)), z1) + MARK(1 + z070) :|: z1 >= 0, z = 1 + (1 + z070) + z1, z070 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U41(mark(z069), z120), z1) + MARK(1 + z069 + z120) :|: z120 >= 0, z1 >= 0, z = 1 + (1 + z069 + z120) + z1, z069 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U31(mark(z068)), z1) + MARK(1 + z068) :|: z1 >= 0, z068 >= 0, z = 1 + (1 + z068) + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__U21(mark(z067)), z1) + MARK(1 + z067) :|: z = 1 + (1 + z067) + z1, z1 >= 0, z067 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U11(mark(z066)), z1) + MARK(1 + z066) :|: z1 >= 0, z = 1 + (1 + z066) + z1, z066 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(2, z1) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 MARK(z) -{ 1 }-> 1 + A__U62(1, z1) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 MARK(z) -{ 1 }-> 1 + A__U62(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U62(0, z1) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + mark(z080), z1) + MARK(1 + z080) :|: z080 >= 0, z1 >= 0, z = 1 + (1 + z080) + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + mark(z079) + z124, z1) + MARK(1 + z079 + z124) :|: z1 >= 0, z124 >= 0, z079 >= 0, z = 1 + (1 + z079 + z124) + z1 MARK(z) -{ 1 }-> 1 + A__U61(a__zeros, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__length(mark(z063)), z1, z2) + MARK(1 + z063) :|: z063 >= 0, z1 >= 0, z = 1 + (1 + z063) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNatList(z059), z1, z2) + MARK(1 + z059) :|: z1 >= 0, z = 1 + (1 + z059) + z1 + z2, z059 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNatIList(z056), z1, z2) + MARK(1 + z056) :|: z056 >= 0, z1 >= 0, z = 1 + (1 + z056) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNat(z062), z1, z2) + MARK(1 + z062) :|: z = 1 + (1 + z062) + z1 + z2, z1 >= 0, z062 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U62(mark(z061), z118), z1, z2) + MARK(1 + z061 + z118) :|: z1 >= 0, z118 >= 0, z = 1 + (1 + z061 + z118) + z1 + z2, z061 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U61(mark(z060), z117, z22), z1, z2) + MARK(1 + z060 + z117 + z22) :|: z117 >= 0, z1 >= 0, z = 1 + (1 + z060 + z117 + z22) + z1 + z2, z060 >= 0, z22 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U52(mark(z058)), z1, z2) + MARK(1 + z058) :|: z = 1 + (1 + z058) + z1 + z2, z1 >= 0, z058 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U51(mark(z057), z116), z1, z2) + MARK(1 + z057 + z116) :|: z = 1 + (1 + z057 + z116) + z1 + z2, z1 >= 0, z2 >= 0, z057 >= 0, z116 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U42(mark(z055)), z1, z2) + MARK(1 + z055) :|: z1 >= 0, z = 1 + (1 + z055) + z1 + z2, z055 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U41(mark(z054), z115), z1, z2) + MARK(1 + z054 + z115) :|: z1 >= 0, z054 >= 0, z115 >= 0, z2 >= 0, z = 1 + (1 + z054 + z115) + z1 + z2 MARK(z) -{ 1 }-> 1 + A__U61(a__U31(mark(z053)), z1, z2) + MARK(1 + z053) :|: z1 >= 0, z = 1 + (1 + z053) + z1 + z2, z053 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U21(mark(z052)), z1, z2) + MARK(1 + z052) :|: z052 >= 0, z1 >= 0, z = 1 + (1 + z052) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U11(mark(z051)), z1, z2) + MARK(1 + z051) :|: z = 1 + (1 + z051) + z1 + z2, z1 >= 0, z051 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(2, z1, z2) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1, z1, z2) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + mark(z065), z1, z2) + MARK(1 + z065) :|: z1 >= 0, z = 1 + (1 + z065) + z1 + z2, z065 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + mark(z064) + z119, z1, z2) + MARK(1 + z064 + z119) :|: z1 >= 0, z064 >= 0, z = 1 + (1 + z064 + z119) + z1 + z2, z119 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__zeros, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__length(mark(z048)), z1) + MARK(1 + z048) :|: z1 >= 0, z = 1 + (1 + z048) + z1, z048 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__isNatList(z044), z1) + MARK(1 + z044) :|: z1 >= 0, z044 >= 0, z = 1 + (1 + z044) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__isNatIList(z041), z1) + MARK(1 + z041) :|: z1 >= 0, z041 >= 0, z = 1 + (1 + z041) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__isNat(z047), z1) + MARK(1 + z047) :|: z1 >= 0, z = 1 + (1 + z047) + z1, z047 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U62(mark(z046), z113), z1) + MARK(1 + z046 + z113) :|: z046 >= 0, z1 >= 0, z113 >= 0, z = 1 + (1 + z046 + z113) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U61(mark(z045), z112, z21), z1) + MARK(1 + z045 + z112 + z21) :|: z21 >= 0, z1 >= 0, z045 >= 0, z112 >= 0, z = 1 + (1 + z045 + z112 + z21) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U52(mark(z043)), z1) + MARK(1 + z043) :|: z1 >= 0, z043 >= 0, z = 1 + (1 + z043) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U51(mark(z042), z111), z1) + MARK(1 + z042 + z111) :|: z042 >= 0, z1 >= 0, z111 >= 0, z = 1 + (1 + z042 + z111) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U42(mark(z040)), z1) + MARK(1 + z040) :|: z1 >= 0, z040 >= 0, z = 1 + (1 + z040) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U41(mark(z039), z110), z1) + MARK(1 + z039 + z110) :|: z110 >= 0, z1 >= 0, z039 >= 0, z = 1 + (1 + z039 + z110) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U31(mark(z038)), z1) + MARK(1 + z038) :|: z1 >= 0, z = 1 + (1 + z038) + z1, z038 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U21(mark(z037)), z1) + MARK(1 + z037) :|: z1 >= 0, z = 1 + (1 + z037) + z1, z037 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U11(mark(z036)), z1) + MARK(1 + z036) :|: z036 >= 0, z1 >= 0, z = 1 + (1 + z036) + z1 MARK(z) -{ 1 }-> 1 + A__U51(2, z1) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 MARK(z) -{ 1 }-> 1 + A__U51(1, z1) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 MARK(z) -{ 1 }-> 1 + A__U51(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U51(0, z1) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 MARK(z) -{ 1 }-> 1 + A__U51(1 + mark(z050), z1) + MARK(1 + z050) :|: z1 >= 0, z = 1 + (1 + z050) + z1, z050 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(1 + mark(z049) + z114, z1) + MARK(1 + z049 + z114) :|: z114 >= 0, z1 >= 0, z049 >= 0, z = 1 + (1 + z049 + z114) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__zeros, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__length(mark(z033)), z1) + MARK(1 + z033) :|: z1 >= 0, z = 1 + (1 + z033) + z1, z033 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNatList(z029), z1) + MARK(1 + z029) :|: z029 >= 0, z = 1 + (1 + z029) + z1, z1 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNatIList(z026), z1) + MARK(1 + z026) :|: z1 >= 0, z = 1 + (1 + z026) + z1, z026 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNat(z032), z1) + MARK(1 + z032) :|: z032 >= 0, z1 >= 0, z = 1 + (1 + z032) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U62(mark(z031), z18), z1) + MARK(1 + z031 + z18) :|: z18 >= 0, z031 >= 0, z1 >= 0, z = 1 + (1 + z031 + z18) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U61(mark(z030), z17, z2''), z1) + MARK(1 + z030 + z17 + z2'') :|: z1 >= 0, z17 >= 0, z = 1 + (1 + z030 + z17 + z2'') + z1, z2'' >= 0, z030 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U52(mark(z028)), z1) + MARK(1 + z028) :|: z1 >= 0, z = 1 + (1 + z028) + z1, z028 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U51(mark(z027), z16), z1) + MARK(1 + z027 + z16) :|: z = 1 + (1 + z027 + z16) + z1, z1 >= 0, z027 >= 0, z16 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U42(mark(z025)), z1) + MARK(1 + z025) :|: z025 >= 0, z1 >= 0, z = 1 + (1 + z025) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U41(mark(z024), z15), z1) + MARK(1 + z024 + z15) :|: z = 1 + (1 + z024 + z15) + z1, z15 >= 0, z1 >= 0, z024 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U31(mark(z023)), z1) + MARK(1 + z023) :|: z1 >= 0, z023 >= 0, z = 1 + (1 + z023) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U21(mark(z022)), z1) + MARK(1 + z022) :|: z1 >= 0, z = 1 + (1 + z022) + z1, z022 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U11(mark(z021)), z1) + MARK(1 + z021) :|: z021 >= 0, z1 >= 0, z = 1 + (1 + z021) + z1 MARK(z) -{ 1 }-> 1 + A__U41(2, z1) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 MARK(z) -{ 1 }-> 1 + A__U41(1, z1) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 MARK(z) -{ 1 }-> 1 + A__U41(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U41(0, z1) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 MARK(z) -{ 1 }-> 1 + A__U41(1 + mark(z035), z1) + MARK(1 + z035) :|: z035 >= 0, z1 >= 0, z = 1 + (1 + z035) + z1 MARK(z) -{ 1 }-> 1 + A__U41(1 + mark(z034) + z19, z1) + MARK(1 + z034 + z19) :|: z1 >= 0, z19 >= 0, z = 1 + (1 + z034 + z19) + z1, z034 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__zeros) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__length(mark(z093))) + MARK(1 + z093) :|: z = 1 + (1 + z093), z093 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNatList(z089)) + MARK(1 + z089) :|: z089 >= 0, z = 1 + (1 + z089) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNatIList(z086)) + MARK(1 + z086) :|: z = 1 + (1 + z086), z086 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNat(z092)) + MARK(1 + z092) :|: z = 1 + (1 + z092), z092 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U62(mark(z091), z128)) + MARK(1 + z091 + z128) :|: z091 >= 0, z128 >= 0, z = 1 + (1 + z091 + z128) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U61(mark(z090), z127, z24)) + MARK(1 + z090 + z127 + z24) :|: z = 1 + (1 + z090 + z127 + z24), z24 >= 0, z127 >= 0, z090 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U52(mark(z088))) + MARK(1 + z088) :|: z088 >= 0, z = 1 + (1 + z088) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U51(mark(z087), z126)) + MARK(1 + z087 + z126) :|: z = 1 + (1 + z087 + z126), z087 >= 0, z126 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U42(mark(z085))) + MARK(1 + z085) :|: z = 1 + (1 + z085), z085 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U41(mark(z084), z125)) + MARK(1 + z084 + z125) :|: z084 >= 0, z125 >= 0, z = 1 + (1 + z084 + z125) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U31(mark(z083))) + MARK(1 + z083) :|: z083 >= 0, z = 1 + (1 + z083) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U21(mark(z082))) + MARK(1 + z082) :|: z = 1 + (1 + z082), z082 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U11(mark(z081))) + MARK(1 + z081) :|: z = 1 + (1 + z081), z081 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__LENGTH(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + mark(z095)) + MARK(1 + z095) :|: z095 >= 0, z = 1 + (1 + z095) MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + mark(z094) + z129) + MARK(1 + z094 + z129) :|: z094 >= 0, z129 >= 0, z = 1 + (1 + z094 + z129) a__U11(z) -{ 0 }-> 2 :|: z = 2 a__U11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U11(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U21(z) -{ 0 }-> 2 :|: z = 2 a__U21(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U21(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U31(z) -{ 0 }-> 2 :|: z = 2 a__U31(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U31(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U41(z, z') -{ 0 }-> a__U42(a__U41(a__isNat(z096), z130)) :|: z = 2, z130 >= 0, z096 >= 0, z' = 1 + z096 + z130 a__U41(z, z') -{ 0 }-> a__U42(a__U31(a__isNatList(z0))) :|: z = 2, z0 >= 0, z' = z0 a__U41(z, z') -{ 0 }-> a__U42(2) :|: z = 2, z' = 3 a__U41(z, z') -{ 0 }-> a__U42(0) :|: z = 2, z0 >= 0, z' = z0 a__U41(z, z') -{ 0 }-> a__U42(1 + z0) :|: z = 2, z0 >= 0, z' = z0 a__U41(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U41(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U42(z) -{ 0 }-> 2 :|: z = 2 a__U42(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U42(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U51(z, z') -{ 0 }-> a__U52(a__U51(a__isNat(z097), z131)) :|: z = 2, z131 >= 0, z' = 1 + z097 + z131, z097 >= 0 a__U51(z, z') -{ 0 }-> a__U52(2) :|: z = 2, z' = 1 a__U51(z, z') -{ 0 }-> a__U52(0) :|: z = 2, z0 >= 0, z' = z0 a__U51(z, z') -{ 0 }-> a__U52(1 + z0) :|: z = 2, z0 >= 0, z' = z0 a__U51(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U51(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U52(z) -{ 0 }-> 2 :|: z = 2 a__U52(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U52(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__U21(a__isNat(z099)), z0) :|: z = 2, z099 >= 0, z'' = 1 + z099, z0 >= 0, z' = z0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__U11(a__isNatList(z098)), z0) :|: z = 2, z098 >= 0, z'' = 1 + z098, z0 >= 0, z' = z0 a__U61(z, z', z'') -{ 0 }-> a__U62(2, z0) :|: z = 2, z'' = 0, z0 >= 0, z' = z0 a__U61(z, z', z'') -{ 0 }-> a__U62(0, z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U61(z, z', z'') -{ 0 }-> a__U62(1 + z1, z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U61(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__U61(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 a__U62(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U62(z, z') -{ 0 }-> 1 + a__length(a__zeros) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + a__length(a__length(mark(z0112))) :|: z = 2, z0112 >= 0, z' = 1 + z0112 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNatList(z0108)) :|: z = 2, z0108 >= 0, z' = 1 + z0108 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNatIList(z0105)) :|: z = 2, z' = 1 + z0105, z0105 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNat(z0111)) :|: z = 2, z0111 >= 0, z' = 1 + z0111 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U62(mark(z0110), z135)) :|: z = 2, z' = 1 + z0110 + z135, z0110 >= 0, z135 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U61(mark(z0109), z134, z25)) :|: z = 2, z25 >= 0, z134 >= 0, z0109 >= 0, z' = 1 + z0109 + z134 + z25 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U52(mark(z0107))) :|: z = 2, z' = 1 + z0107, z0107 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U51(mark(z0106), z133)) :|: z = 2, z133 >= 0, z' = 1 + z0106 + z133, z0106 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U42(mark(z0104))) :|: z = 2, z0104 >= 0, z' = 1 + z0104 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U41(mark(z0103), z132)) :|: z = 2, z132 >= 0, z0103 >= 0, z' = 1 + z0103 + z132 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U31(mark(z0102))) :|: z = 2, z' = 1 + z0102, z0102 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U21(mark(z0101))) :|: z = 2, z0101 >= 0, z' = 1 + z0101 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U11(mark(z0100))) :|: z = 2, z' = 1 + z0100, z0100 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(2) :|: z = 2, z' = 2 a__U62(z, z') -{ 0 }-> 1 + a__length(1) :|: z = 2, z' = 1 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z' = 0 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z0 >= 0, z' = z0 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + mark(z0114)) :|: z = 2, z' = 1 + z0114, z0114 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + mark(z0113) + z136) :|: z = 2, z' = 1 + z0113 + z136, z0113 >= 0, z136 >= 0 a__U62(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__isNat(z) -{ 0 }-> a__U21(a__U21(a__isNat(z0117))) :|: z = 1 + (1 + z0117), z0117 >= 0 a__isNat(z) -{ 0 }-> a__U21(a__U11(a__isNatList(z0116))) :|: z0116 >= 0, z = 1 + (1 + z0116) a__isNat(z) -{ 0 }-> a__U21(2) :|: z = 1 + 0 a__isNat(z) -{ 0 }-> a__U21(0) :|: z = 1 + z0, z0 >= 0 a__isNat(z) -{ 0 }-> a__U21(1 + z0) :|: z = 1 + z0, z0 >= 0 a__isNat(z) -{ 0 }-> a__U11(a__U51(a__isNat(z0115), z137)) :|: z0115 >= 0, z = 1 + (1 + z0115 + z137), z137 >= 0 a__isNat(z) -{ 0 }-> a__U11(2) :|: z = 1 + 1 a__isNat(z) -{ 0 }-> a__U11(0) :|: z = 1 + z0, z0 >= 0 a__isNat(z) -{ 0 }-> a__U11(1 + z0) :|: z = 1 + z0, z0 >= 0 a__isNat(z) -{ 0 }-> 2 :|: z = 0 a__isNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__U21(a__isNat(z0120)), z1) :|: z1 >= 0, z = 1 + (1 + z0120) + z1, z0120 >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__U11(a__isNatList(z0119)), z1) :|: z0119 >= 0, z1 >= 0, z = 1 + (1 + z0119) + z1 a__isNatIList(z) -{ 0 }-> a__U41(2, z1) :|: z1 >= 0, z = 1 + 0 + z1 a__isNatIList(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U41(1 + z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U31(a__U51(a__isNat(z0118), z138)) :|: z138 >= 0, z0118 >= 0, z = 1 + z0118 + z138 a__isNatIList(z) -{ 0 }-> a__U31(2) :|: z = 1 a__isNatIList(z) -{ 0 }-> a__U31(0) :|: z = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> a__U31(1 + z0) :|: z = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> 2 :|: z = 3 a__isNatIList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatIList(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__U21(a__isNat(z0122)), z1) :|: z1 >= 0, z = 1 + (1 + z0122) + z1, z0122 >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__U11(a__isNatList(z0121)), z1) :|: z1 >= 0, z0121 >= 0, z = 1 + (1 + z0121) + z1 a__isNatList(z) -{ 0 }-> a__U51(2, z1) :|: z1 >= 0, z = 1 + 0 + z1 a__isNatList(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> a__U51(1 + z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> 2 :|: z = 1 a__isNatList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatList(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__length(z) -{ 0 }-> a__U61(a__U51(a__isNat(z0123), z139), 1 + z0123 + z139, z0) :|: z139 >= 0, z0 >= 0, z0123 >= 0, z = 1 + z0 + (1 + z0123 + z139) a__length(z) -{ 0 }-> a__U61(2, 1, z0) :|: z0 >= 0, z = 1 + z0 + 1 a__length(z) -{ 0 }-> a__U61(0, z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> a__U61(1 + z1, z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__zeros -{ 0 }-> 3 :|: a__zeros -{ 0 }-> 0 :|: a__zeros -{ 0 }-> 1 + 0 + 3 :|: mark(z) -{ 0 }-> a__zeros :|: z = 3 mark(z) -{ 0 }-> a__length(a__zeros) :|: z = 1 + 3 mark(z) -{ 0 }-> a__length(a__length(mark(z0271))) :|: z0271 >= 0, z = 1 + (1 + z0271) mark(z) -{ 0 }-> a__length(a__isNatList(z0267)) :|: z = 1 + (1 + z0267), z0267 >= 0 mark(z) -{ 0 }-> a__length(a__isNatIList(z0264)) :|: z = 1 + (1 + z0264), z0264 >= 0 mark(z) -{ 0 }-> a__length(a__isNat(z0270)) :|: z0270 >= 0, z = 1 + (1 + z0270) mark(z) -{ 0 }-> a__length(a__U62(mark(z0269), z188)) :|: z0269 >= 0, z188 >= 0, z = 1 + (1 + z0269 + z188) mark(z) -{ 0 }-> a__length(a__U61(mark(z0268), z187, z215)) :|: z187 >= 0, z0268 >= 0, z = 1 + (1 + z0268 + z187 + z215), z215 >= 0 mark(z) -{ 0 }-> a__length(a__U52(mark(z0266))) :|: z0266 >= 0, z = 1 + (1 + z0266) mark(z) -{ 0 }-> a__length(a__U51(mark(z0265), z186)) :|: z0265 >= 0, z = 1 + (1 + z0265 + z186), z186 >= 0 mark(z) -{ 0 }-> a__length(a__U42(mark(z0263))) :|: z0263 >= 0, z = 1 + (1 + z0263) mark(z) -{ 0 }-> a__length(a__U41(mark(z0262), z185)) :|: z0262 >= 0, z185 >= 0, z = 1 + (1 + z0262 + z185) mark(z) -{ 0 }-> a__length(a__U31(mark(z0261))) :|: z0261 >= 0, z = 1 + (1 + z0261) mark(z) -{ 0 }-> a__length(a__U21(mark(z0260))) :|: z0260 >= 0, z = 1 + (1 + z0260) mark(z) -{ 0 }-> a__length(a__U11(mark(z0259))) :|: z = 1 + (1 + z0259), z0259 >= 0 mark(z) -{ 0 }-> a__length(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__length(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__length(1 + mark(z0273)) :|: z0273 >= 0, z = 1 + (1 + z0273) mark(z) -{ 0 }-> a__length(1 + mark(z0272) + z189) :|: z0272 >= 0, z = 1 + (1 + z0272 + z189), z189 >= 0 mark(z) -{ 0 }-> a__isNatList(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNatIList(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNat(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U62(a__zeros, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U62(a__length(mark(z0256)), z1) :|: z0256 >= 0, z1 >= 0, z = 1 + (1 + z0256) + z1 mark(z) -{ 0 }-> a__U62(a__isNatList(z0252), z1) :|: z0252 >= 0, z1 >= 0, z = 1 + (1 + z0252) + z1 mark(z) -{ 0 }-> a__U62(a__isNatIList(z0249), z1) :|: z0249 >= 0, z1 >= 0, z = 1 + (1 + z0249) + z1 mark(z) -{ 0 }-> a__U62(a__isNat(z0255), z1) :|: z1 >= 0, z = 1 + (1 + z0255) + z1, z0255 >= 0 mark(z) -{ 0 }-> a__U62(a__U62(mark(z0254), z183), z1) :|: z = 1 + (1 + z0254 + z183) + z1, z183 >= 0, z1 >= 0, z0254 >= 0 mark(z) -{ 0 }-> a__U62(a__U61(mark(z0253), z182, z214), z1) :|: z1 >= 0, z182 >= 0, z = 1 + (1 + z0253 + z182 + z214) + z1, z214 >= 0, z0253 >= 0 mark(z) -{ 0 }-> a__U62(a__U52(mark(z0251)), z1) :|: z1 >= 0, z0251 >= 0, z = 1 + (1 + z0251) + z1 mark(z) -{ 0 }-> a__U62(a__U51(mark(z0250), z181), z1) :|: z1 >= 0, z0250 >= 0, z181 >= 0, z = 1 + (1 + z0250 + z181) + z1 mark(z) -{ 0 }-> a__U62(a__U42(mark(z0248)), z1) :|: z1 >= 0, z = 1 + (1 + z0248) + z1, z0248 >= 0 mark(z) -{ 0 }-> a__U62(a__U41(mark(z0247), z180), z1) :|: z1 >= 0, z = 1 + (1 + z0247 + z180) + z1, z0247 >= 0, z180 >= 0 mark(z) -{ 0 }-> a__U62(a__U31(mark(z0246)), z1) :|: z0246 >= 0, z1 >= 0, z = 1 + (1 + z0246) + z1 mark(z) -{ 0 }-> a__U62(a__U21(mark(z0245)), z1) :|: z = 1 + (1 + z0245) + z1, z1 >= 0, z0245 >= 0 mark(z) -{ 0 }-> a__U62(a__U11(mark(z0244)), z1) :|: z1 >= 0, z = 1 + (1 + z0244) + z1, z0244 >= 0 mark(z) -{ 0 }-> a__U62(2, z1) :|: z1 >= 0, z = 1 + 2 + z1 mark(z) -{ 0 }-> a__U62(1, z1) :|: z1 >= 0, z = 1 + 1 + z1 mark(z) -{ 0 }-> a__U62(0, z1) :|: z1 >= 0, z = 1 + 0 + z1 mark(z) -{ 0 }-> a__U62(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U62(1 + mark(z0258), z1) :|: z = 1 + (1 + z0258) + z1, z1 >= 0, z0258 >= 0 mark(z) -{ 0 }-> a__U62(1 + mark(z0257) + z184, z1) :|: z1 >= 0, z = 1 + (1 + z0257 + z184) + z1, z0257 >= 0, z184 >= 0 mark(z) -{ 0 }-> a__U61(a__zeros, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__length(mark(z0241)), z1, z2) :|: z1 >= 0, z0241 >= 0, z = 1 + (1 + z0241) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNatList(z0237), z1, z2) :|: z1 >= 0, z0237 >= 0, z = 1 + (1 + z0237) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNatIList(z0234), z1, z2) :|: z1 >= 0, z0234 >= 0, z = 1 + (1 + z0234) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNat(z0240), z1, z2) :|: z1 >= 0, z0240 >= 0, z = 1 + (1 + z0240) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U62(mark(z0239), z178), z1, z2) :|: z0239 >= 0, z1 >= 0, z = 1 + (1 + z0239 + z178) + z1 + z2, z178 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U61(mark(z0238), z177, z213), z1, z2) :|: z1 >= 0, z213 >= 0, z0238 >= 0, z = 1 + (1 + z0238 + z177 + z213) + z1 + z2, z177 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U52(mark(z0236)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0236) + z1 + z2, z0236 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U51(mark(z0235), z176), z1, z2) :|: z0235 >= 0, z1 >= 0, z = 1 + (1 + z0235 + z176) + z1 + z2, z2 >= 0, z176 >= 0 mark(z) -{ 0 }-> a__U61(a__U42(mark(z0233)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0233) + z1 + z2, z0233 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U41(mark(z0232), z175), z1, z2) :|: z1 >= 0, z0232 >= 0, z = 1 + (1 + z0232 + z175) + z1 + z2, z175 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U31(mark(z0231)), z1, z2) :|: z0231 >= 0, z = 1 + (1 + z0231) + z1 + z2, z1 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U21(mark(z0230)), z1, z2) :|: z1 >= 0, z0230 >= 0, z = 1 + (1 + z0230) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U11(mark(z0229)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0229) + z1 + z2, z0229 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(2, z1, z2) :|: z1 >= 0, z = 1 + 2 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(1, z1, z2) :|: z1 >= 0, z = 1 + 1 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + 0 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(1 + mark(z0243), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0243) + z1 + z2, z0243 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(1 + mark(z0242) + z179, z1, z2) :|: z0242 >= 0, z1 >= 0, z179 >= 0, z2 >= 0, z = 1 + (1 + z0242 + z179) + z1 + z2 mark(z) -{ 0 }-> a__U52(a__zeros) :|: z = 1 + 3 mark(z) -{ 0 }-> a__U52(a__length(mark(z0226))) :|: z0226 >= 0, z = 1 + (1 + z0226) mark(z) -{ 0 }-> a__U52(a__isNatList(z0222)) :|: z = 1 + (1 + z0222), z0222 >= 0 mark(z) -{ 0 }-> a__U52(a__isNatIList(z0219)) :|: z0219 >= 0, z = 1 + (1 + z0219) mark(z) -{ 0 }-> a__U52(a__isNat(z0225)) :|: z = 1 + (1 + z0225), z0225 >= 0 mark(z) -{ 0 }-> a__U52(a__U62(mark(z0224), z173)) :|: z173 >= 0, z = 1 + (1 + z0224 + z173), z0224 >= 0 mark(z) -{ 0 }-> a__U52(a__U61(mark(z0223), z172, z212)) :|: z212 >= 0, z172 >= 0, z0223 >= 0, z = 1 + (1 + z0223 + z172 + z212) mark(z) -{ 0 }-> a__U52(a__U52(mark(z0221))) :|: z = 1 + (1 + z0221), z0221 >= 0 mark(z) -{ 0 }-> a__U52(a__U51(mark(z0220), z171)) :|: z171 >= 0, z0220 >= 0, z = 1 + (1 + z0220 + z171) mark(z) -{ 0 }-> a__U52(a__U42(mark(z0218))) :|: z0218 >= 0, z = 1 + (1 + z0218) mark(z) -{ 0 }-> a__U52(a__U41(mark(z0217), z170)) :|: z0217 >= 0, z = 1 + (1 + z0217 + z170), z170 >= 0 mark(z) -{ 0 }-> a__U52(a__U31(mark(z0216))) :|: z = 1 + (1 + z0216), z0216 >= 0 mark(z) -{ 0 }-> a__U52(a__U21(mark(z0215))) :|: z0215 >= 0, z = 1 + (1 + z0215) mark(z) -{ 0 }-> a__U52(a__U11(mark(z0214))) :|: z0214 >= 0, z = 1 + (1 + z0214) mark(z) -{ 0 }-> a__U52(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__U52(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__U52(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__U52(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U52(1 + mark(z0228)) :|: z0228 >= 0, z = 1 + (1 + z0228) mark(z) -{ 0 }-> a__U52(1 + mark(z0227) + z174) :|: z = 1 + (1 + z0227 + z174), z0227 >= 0, z174 >= 0 mark(z) -{ 0 }-> a__U51(a__zeros, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U51(a__length(mark(z0211)), z1) :|: z1 >= 0, z0211 >= 0, z = 1 + (1 + z0211) + z1 mark(z) -{ 0 }-> a__U51(a__isNatList(z0207), z1) :|: z0207 >= 0, z1 >= 0, z = 1 + (1 + z0207) + z1 mark(z) -{ 0 }-> a__U51(a__isNatIList(z0204), z1) :|: z1 >= 0, z0204 >= 0, z = 1 + (1 + z0204) + z1 mark(z) -{ 0 }-> a__U51(a__isNat(z0210), z1) :|: z0210 >= 0, z1 >= 0, z = 1 + (1 + z0210) + z1 mark(z) -{ 0 }-> a__U51(a__U62(mark(z0209), z168), z1) :|: z = 1 + (1 + z0209 + z168) + z1, z1 >= 0, z0209 >= 0, z168 >= 0 mark(z) -{ 0 }-> a__U51(a__U61(mark(z0208), z167, z211), z1) :|: z1 >= 0, z = 1 + (1 + z0208 + z167 + z211) + z1, z0208 >= 0, z211 >= 0, z167 >= 0 mark(z) -{ 0 }-> a__U51(a__U52(mark(z0206)), z1) :|: z1 >= 0, z = 1 + (1 + z0206) + z1, z0206 >= 0 mark(z) -{ 0 }-> a__U51(a__U51(mark(z0205), z166), z1) :|: z1 >= 0, z = 1 + (1 + z0205 + z166) + z1, z0205 >= 0, z166 >= 0 mark(z) -{ 0 }-> a__U51(a__U42(mark(z0203)), z1) :|: z = 1 + (1 + z0203) + z1, z0203 >= 0, z1 >= 0 mark(z) -{ 0 }-> a__U51(a__U41(mark(z0202), z165), z1) :|: z1 >= 0, z0202 >= 0, z = 1 + (1 + z0202 + z165) + z1, z165 >= 0 mark(z) -{ 0 }-> a__U51(a__U31(mark(z0201)), z1) :|: z1 >= 0, z0201 >= 0, z = 1 + (1 + z0201) + z1 mark(z) -{ 0 }-> a__U51(a__U21(mark(z0200)), z1) :|: z1 >= 0, z0200 >= 0, z = 1 + (1 + z0200) + z1 mark(z) -{ 0 }-> a__U51(a__U11(mark(z0199)), z1) :|: z1 >= 0, z0199 >= 0, z = 1 + (1 + z0199) + z1 mark(z) -{ 0 }-> a__U51(2, z1) :|: z1 >= 0, z = 1 + 2 + z1 mark(z) -{ 0 }-> a__U51(1, z1) :|: z1 >= 0, z = 1 + 1 + z1 mark(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z = 1 + 0 + z1 mark(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U51(1 + mark(z0213), z1) :|: z1 >= 0, z = 1 + (1 + z0213) + z1, z0213 >= 0 mark(z) -{ 0 }-> a__U51(1 + mark(z0212) + z169, z1) :|: z1 >= 0, z169 >= 0, z = 1 + (1 + z0212 + z169) + z1, z0212 >= 0 mark(z) -{ 0 }-> a__U42(a__zeros) :|: z = 1 + 3 mark(z) -{ 0 }-> a__U42(a__length(mark(z0196))) :|: z = 1 + (1 + z0196), z0196 >= 0 mark(z) -{ 0 }-> a__U42(a__isNatList(z0192)) :|: z0192 >= 0, z = 1 + (1 + z0192) mark(z) -{ 0 }-> a__U42(a__isNatIList(z0189)) :|: z = 1 + (1 + z0189), z0189 >= 0 mark(z) -{ 0 }-> a__U42(a__isNat(z0195)) :|: z0195 >= 0, z = 1 + (1 + z0195) mark(z) -{ 0 }-> a__U42(a__U62(mark(z0194), z163)) :|: z = 1 + (1 + z0194 + z163), z163 >= 0, z0194 >= 0 mark(z) -{ 0 }-> a__U42(a__U61(mark(z0193), z162, z210)) :|: z = 1 + (1 + z0193 + z162 + z210), z162 >= 0, z0193 >= 0, z210 >= 0 mark(z) -{ 0 }-> a__U42(a__U52(mark(z0191))) :|: z0191 >= 0, z = 1 + (1 + z0191) mark(z) -{ 0 }-> a__U42(a__U51(mark(z0190), z161)) :|: z0190 >= 0, z161 >= 0, z = 1 + (1 + z0190 + z161) mark(z) -{ 0 }-> a__U42(a__U42(mark(z0188))) :|: z = 1 + (1 + z0188), z0188 >= 0 mark(z) -{ 0 }-> a__U42(a__U41(mark(z0187), z160)) :|: z0187 >= 0, z160 >= 0, z = 1 + (1 + z0187 + z160) mark(z) -{ 0 }-> a__U42(a__U31(mark(z0186))) :|: z = 1 + (1 + z0186), z0186 >= 0 mark(z) -{ 0 }-> a__U42(a__U21(mark(z0185))) :|: z = 1 + (1 + z0185), z0185 >= 0 mark(z) -{ 0 }-> a__U42(a__U11(mark(z0184))) :|: z0184 >= 0, z = 1 + (1 + z0184) mark(z) -{ 0 }-> a__U42(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__U42(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__U42(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__U42(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U42(1 + mark(z0198)) :|: z = 1 + (1 + z0198), z0198 >= 0 mark(z) -{ 0 }-> a__U42(1 + mark(z0197) + z164) :|: z0197 >= 0, z164 >= 0, z = 1 + (1 + z0197 + z164) mark(z) -{ 0 }-> a__U41(a__zeros, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U41(a__length(mark(z0181)), z1) :|: z1 >= 0, z = 1 + (1 + z0181) + z1, z0181 >= 0 mark(z) -{ 0 }-> a__U41(a__isNatList(z0177), z1) :|: z1 >= 0, z = 1 + (1 + z0177) + z1, z0177 >= 0 mark(z) -{ 0 }-> a__U41(a__isNatIList(z0174), z1) :|: z0174 >= 0, z1 >= 0, z = 1 + (1 + z0174) + z1 mark(z) -{ 0 }-> a__U41(a__isNat(z0180), z1) :|: z0180 >= 0, z1 >= 0, z = 1 + (1 + z0180) + z1 mark(z) -{ 0 }-> a__U41(a__U62(mark(z0179), z158), z1) :|: z1 >= 0, z = 1 + (1 + z0179 + z158) + z1, z0179 >= 0, z158 >= 0 mark(z) -{ 0 }-> a__U41(a__U61(mark(z0178), z157, z29), z1) :|: z0178 >= 0, z1 >= 0, z29 >= 0, z157 >= 0, z = 1 + (1 + z0178 + z157 + z29) + z1 mark(z) -{ 0 }-> a__U41(a__U52(mark(z0176)), z1) :|: z1 >= 0, z0176 >= 0, z = 1 + (1 + z0176) + z1 mark(z) -{ 0 }-> a__U41(a__U51(mark(z0175), z156), z1) :|: z1 >= 0, z = 1 + (1 + z0175 + z156) + z1, z0175 >= 0, z156 >= 0 mark(z) -{ 0 }-> a__U41(a__U42(mark(z0173)), z1) :|: z1 >= 0, z0173 >= 0, z = 1 + (1 + z0173) + z1 mark(z) -{ 0 }-> a__U41(a__U41(mark(z0172), z155), z1) :|: z = 1 + (1 + z0172 + z155) + z1, z155 >= 0, z1 >= 0, z0172 >= 0 mark(z) -{ 0 }-> a__U41(a__U31(mark(z0171)), z1) :|: z1 >= 0, z0171 >= 0, z = 1 + (1 + z0171) + z1 mark(z) -{ 0 }-> a__U41(a__U21(mark(z0170)), z1) :|: z = 1 + (1 + z0170) + z1, z0170 >= 0, z1 >= 0 mark(z) -{ 0 }-> a__U41(a__U11(mark(z0169)), z1) :|: z1 >= 0, z0169 >= 0, z = 1 + (1 + z0169) + z1 mark(z) -{ 0 }-> a__U41(2, z1) :|: z1 >= 0, z = 1 + 2 + z1 mark(z) -{ 0 }-> a__U41(1, z1) :|: z1 >= 0, z = 1 + 1 + z1 mark(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z = 1 + 0 + z1 mark(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U41(1 + mark(z0183), z1) :|: z = 1 + (1 + z0183) + z1, z1 >= 0, z0183 >= 0 mark(z) -{ 0 }-> a__U41(1 + mark(z0182) + z159, z1) :|: z159 >= 0, z1 >= 0, z = 1 + (1 + z0182 + z159) + z1, z0182 >= 0 mark(z) -{ 0 }-> a__U31(a__zeros) :|: z = 1 + 3 mark(z) -{ 0 }-> a__U31(a__length(mark(z0166))) :|: z = 1 + (1 + z0166), z0166 >= 0 mark(z) -{ 0 }-> a__U31(a__isNatList(z0162)) :|: z0162 >= 0, z = 1 + (1 + z0162) mark(z) -{ 0 }-> a__U31(a__isNatIList(z0159)) :|: z = 1 + (1 + z0159), z0159 >= 0 mark(z) -{ 0 }-> a__U31(a__isNat(z0165)) :|: z = 1 + (1 + z0165), z0165 >= 0 mark(z) -{ 0 }-> a__U31(a__U62(mark(z0164), z153)) :|: z0164 >= 0, z = 1 + (1 + z0164 + z153), z153 >= 0 mark(z) -{ 0 }-> a__U31(a__U61(mark(z0163), z152, z28)) :|: z0163 >= 0, z28 >= 0, z152 >= 0, z = 1 + (1 + z0163 + z152 + z28) mark(z) -{ 0 }-> a__U31(a__U52(mark(z0161))) :|: z0161 >= 0, z = 1 + (1 + z0161) mark(z) -{ 0 }-> a__U31(a__U51(mark(z0160), z151)) :|: z151 >= 0, z0160 >= 0, z = 1 + (1 + z0160 + z151) mark(z) -{ 0 }-> a__U31(a__U42(mark(z0158))) :|: z0158 >= 0, z = 1 + (1 + z0158) mark(z) -{ 0 }-> a__U31(a__U41(mark(z0157), z150)) :|: z0157 >= 0, z = 1 + (1 + z0157 + z150), z150 >= 0 mark(z) -{ 0 }-> a__U31(a__U31(mark(z0156))) :|: z0156 >= 0, z = 1 + (1 + z0156) mark(z) -{ 0 }-> a__U31(a__U21(mark(z0155))) :|: z = 1 + (1 + z0155), z0155 >= 0 mark(z) -{ 0 }-> a__U31(a__U11(mark(z0154))) :|: z = 1 + (1 + z0154), z0154 >= 0 mark(z) -{ 0 }-> a__U31(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__U31(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__U31(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__U31(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U31(1 + mark(z0168)) :|: z0168 >= 0, z = 1 + (1 + z0168) mark(z) -{ 0 }-> a__U31(1 + mark(z0167) + z154) :|: z0167 >= 0, z = 1 + (1 + z0167 + z154), z154 >= 0 mark(z) -{ 0 }-> a__U21(a__zeros) :|: z = 1 + 3 mark(z) -{ 0 }-> a__U21(a__length(mark(z0151))) :|: z0151 >= 0, z = 1 + (1 + z0151) mark(z) -{ 0 }-> a__U21(a__isNatList(z0147)) :|: z0147 >= 0, z = 1 + (1 + z0147) mark(z) -{ 0 }-> a__U21(a__isNatIList(z0144)) :|: z = 1 + (1 + z0144), z0144 >= 0 mark(z) -{ 0 }-> a__U21(a__isNat(z0150)) :|: z = 1 + (1 + z0150), z0150 >= 0 mark(z) -{ 0 }-> a__U21(a__U62(mark(z0149), z148)) :|: z148 >= 0, z = 1 + (1 + z0149 + z148), z0149 >= 0 mark(z) -{ 0 }-> a__U21(a__U61(mark(z0148), z147, z27)) :|: z27 >= 0, z147 >= 0, z0148 >= 0, z = 1 + (1 + z0148 + z147 + z27) mark(z) -{ 0 }-> a__U21(a__U52(mark(z0146))) :|: z0146 >= 0, z = 1 + (1 + z0146) mark(z) -{ 0 }-> a__U21(a__U51(mark(z0145), z146)) :|: z = 1 + (1 + z0145 + z146), z0145 >= 0, z146 >= 0 mark(z) -{ 0 }-> a__U21(a__U42(mark(z0143))) :|: z0143 >= 0, z = 1 + (1 + z0143) mark(z) -{ 0 }-> a__U21(a__U41(mark(z0142), z145)) :|: z145 >= 0, z0142 >= 0, z = 1 + (1 + z0142 + z145) mark(z) -{ 0 }-> a__U21(a__U31(mark(z0141))) :|: z0141 >= 0, z = 1 + (1 + z0141) mark(z) -{ 0 }-> a__U21(a__U21(mark(z0140))) :|: z = 1 + (1 + z0140), z0140 >= 0 mark(z) -{ 0 }-> a__U21(a__U11(mark(z0139))) :|: z0139 >= 0, z = 1 + (1 + z0139) mark(z) -{ 0 }-> a__U21(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__U21(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__U21(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__U21(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U21(1 + mark(z0153)) :|: z0153 >= 0, z = 1 + (1 + z0153) mark(z) -{ 0 }-> a__U21(1 + mark(z0152) + z149) :|: z149 >= 0, z = 1 + (1 + z0152 + z149), z0152 >= 0 mark(z) -{ 0 }-> a__U11(a__zeros) :|: z = 1 + 3 mark(z) -{ 0 }-> a__U11(a__length(mark(z0136))) :|: z0136 >= 0, z = 1 + (1 + z0136) mark(z) -{ 0 }-> a__U11(a__isNatList(z0132)) :|: z0132 >= 0, z = 1 + (1 + z0132) mark(z) -{ 0 }-> a__U11(a__isNatIList(z0129)) :|: z0129 >= 0, z = 1 + (1 + z0129) mark(z) -{ 0 }-> a__U11(a__isNat(z0135)) :|: z = 1 + (1 + z0135), z0135 >= 0 mark(z) -{ 0 }-> a__U11(a__U62(mark(z0134), z143)) :|: z0134 >= 0, z143 >= 0, z = 1 + (1 + z0134 + z143) mark(z) -{ 0 }-> a__U11(a__U61(mark(z0133), z142, z26)) :|: z0133 >= 0, z26 >= 0, z142 >= 0, z = 1 + (1 + z0133 + z142 + z26) mark(z) -{ 0 }-> a__U11(a__U52(mark(z0131))) :|: z = 1 + (1 + z0131), z0131 >= 0 mark(z) -{ 0 }-> a__U11(a__U51(mark(z0130), z141)) :|: z141 >= 0, z0130 >= 0, z = 1 + (1 + z0130 + z141) mark(z) -{ 0 }-> a__U11(a__U42(mark(z0128))) :|: z = 1 + (1 + z0128), z0128 >= 0 mark(z) -{ 0 }-> a__U11(a__U41(mark(z0127), z140)) :|: z = 1 + (1 + z0127 + z140), z0127 >= 0, z140 >= 0 mark(z) -{ 0 }-> a__U11(a__U31(mark(z0126))) :|: z = 1 + (1 + z0126), z0126 >= 0 mark(z) -{ 0 }-> a__U11(a__U21(mark(z0125))) :|: z = 1 + (1 + z0125), z0125 >= 0 mark(z) -{ 0 }-> a__U11(a__U11(mark(z0124))) :|: z = 1 + (1 + z0124), z0124 >= 0 mark(z) -{ 0 }-> a__U11(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__U11(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__U11(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__U11(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U11(1 + mark(z0138)) :|: z = 1 + (1 + z0138), z0138 >= 0 mark(z) -{ 0 }-> a__U11(1 + mark(z0137) + z144) :|: z = 1 + (1 + z0137 + z144), z144 >= 0, z0137 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + mark(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 1 + mark(z0) + z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 ---------------------------------------- (55) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: a__zeros -{ 0 }-> 3 :|: a__zeros -{ 0 }-> 0 :|: a__zeros -{ 0 }-> 1 + 0 + 3 :|: a__U11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U11(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U11(z) -{ 0 }-> 2 :|: z = 2 a__U21(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U21(z) -{ 0 }-> 2 :|: z = 2 a__U21(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U31(z) -{ 0 }-> 2 :|: z = 2 a__U31(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U31(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U42(z) -{ 0 }-> 2 :|: z = 2 a__U42(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U42(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U52(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U52(z) -{ 0 }-> 2 :|: z = 2 a__U52(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: A__ISNAT(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 1 + z0, z0 >= 0 A__ISNAT(z) -{ 1 }-> 1 + A__ISNAT(z0) :|: z = 1 + z0, z0 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = z0, z0 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__U21(a__isNat(z017)), z1) + A__ISNAT(1 + z017) :|: z1 >= 0, z = 1 + (1 + z017) + z1, z017 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__U11(a__isNatList(z016)), z1) + A__ISNAT(1 + z016) :|: z1 >= 0, z016 >= 0, z = 1 + (1 + z016) + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(2, z1) + A__ISNAT(0) :|: z1 >= 0, z = 1 + 0 + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(1 + z0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__U21(a__isNat(z019)), z1) + A__ISNAT(1 + z019) :|: z019 >= 0, z1 >= 0, z = 1 + (1 + z019) + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__U11(a__isNatList(z018)), z1) + A__ISNAT(1 + z018) :|: z1 >= 0, z = 1 + (1 + z018) + z1, z018 >= 0 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(2, z1) + A__ISNAT(0) :|: z1 >= 0, z = 1 + 0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(1 + z0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(a__U51(a__isNat(z020), z14), 1 + z020 + z14, z0) + A__ISNATLIST(1 + z020 + z14) :|: z0 >= 0, z = 1 + z0 + (1 + z020 + z14), z020 >= 0, z14 >= 0 A__LENGTH(z) -{ 1 }-> 1 + A__U61(2, 1, z0) + A__ISNATLIST(1) :|: z0 >= 0, z = 1 + z0 + 1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(0, z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(1 + z1, z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__U41(z, z') -{ 1 }-> 1 + A__ISNATILIST(z0) :|: z = 2, z0 >= 0, z' = z0 A__U51(z, z') -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 2, z0 >= 0, z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__U21(a__isNat(z0'')), z0) + A__ISNAT(1 + z0'') :|: z = 2, z'' = 1 + z0'', z0 >= 0, z0'' >= 0, z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__U11(a__isNatList(z0')), z0) + A__ISNAT(1 + z0') :|: z = 2, z0' >= 0, z0 >= 0, z'' = 1 + z0', z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(2, z0) + A__ISNAT(0) :|: z = 2, z'' = 0, z0 >= 0, z' = z0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(0, z0) + A__ISNAT(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(1 + z1, z0) + A__ISNAT(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__length(mark(z013))) + MARK(1 + z013) :|: z = 2, z013 >= 0, z' = 1 + z013 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNatList(z09)) + MARK(1 + z09) :|: z = 2, z' = 1 + z09, z09 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNatIList(z06)) + MARK(1 + z06) :|: z = 2, z06 >= 0, z' = 1 + z06 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNat(z012)) + MARK(1 + z012) :|: z = 2, z' = 1 + z012, z012 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U62(mark(z011), z12)) + MARK(1 + z011 + z12) :|: z = 2, z011 >= 0, z' = 1 + z011 + z12, z12 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U61(mark(z010), z11, z2')) + MARK(1 + z010 + z11 + z2') :|: z = 2, z' = 1 + z010 + z11 + z2', z11 >= 0, z2' >= 0, z010 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U52(mark(z08))) + MARK(1 + z08) :|: z = 2, z08 >= 0, z' = 1 + z08 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U51(mark(z07), z1'')) + MARK(1 + z07 + z1'') :|: z = 2, z07 >= 0, z' = 1 + z07 + z1'', z1'' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U42(mark(z05))) + MARK(1 + z05) :|: z = 2, z05 >= 0, z' = 1 + z05 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U41(mark(z04), z1')) + MARK(1 + z04 + z1') :|: z = 2, z04 >= 0, z' = 1 + z04 + z1', z1' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U31(mark(z03))) + MARK(1 + z03) :|: z = 2, z' = 1 + z03, z03 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U21(mark(z02))) + MARK(1 + z02) :|: z = 2, z02 >= 0, z' = 1 + z02 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U11(mark(z01))) + MARK(1 + z01) :|: z = 2, z01 >= 0, z' = 1 + z01 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(3) + MARK(3) :|: z = 2, z' = 3 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(2) + MARK(2) :|: z = 2, z' = 2 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1) + MARK(1) :|: z = 2, z' = 1 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(3) :|: z = 2, z' = 3 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(0) :|: z = 2, z' = 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + mark(z015)) + MARK(1 + z015) :|: z = 2, z015 >= 0, z' = 1 + z015 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + mark(z014) + z13) + MARK(1 + z014 + z13) :|: z = 2, z' = 1 + z014 + z13, z014 >= 0, z13 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + 0 + 3) + MARK(3) :|: z = 2, z' = 3 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATILIST(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNAT(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__length(mark(z078)), z1) + MARK(1 + z078) :|: z = 1 + (1 + z078) + z1, z1 >= 0, z078 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__isNatList(z074), z1) + MARK(1 + z074) :|: z1 >= 0, z074 >= 0, z = 1 + (1 + z074) + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__isNatIList(z071), z1) + MARK(1 + z071) :|: z = 1 + (1 + z071) + z1, z1 >= 0, z071 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__isNat(z077), z1) + MARK(1 + z077) :|: z1 >= 0, z = 1 + (1 + z077) + z1, z077 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U62(mark(z076), z123), z1) + MARK(1 + z076 + z123) :|: z1 >= 0, z = 1 + (1 + z076 + z123) + z1, z123 >= 0, z076 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U61(mark(z075), z122, z23), z1) + MARK(1 + z075 + z122 + z23) :|: z1 >= 0, z122 >= 0, z23 >= 0, z = 1 + (1 + z075 + z122 + z23) + z1, z075 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U52(mark(z073)), z1) + MARK(1 + z073) :|: z1 >= 0, z = 1 + (1 + z073) + z1, z073 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U51(mark(z072), z121), z1) + MARK(1 + z072 + z121) :|: z = 1 + (1 + z072 + z121) + z1, z1 >= 0, z121 >= 0, z072 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U42(mark(z070)), z1) + MARK(1 + z070) :|: z1 >= 0, z = 1 + (1 + z070) + z1, z070 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U41(mark(z069), z120), z1) + MARK(1 + z069 + z120) :|: z120 >= 0, z1 >= 0, z = 1 + (1 + z069 + z120) + z1, z069 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U31(mark(z068)), z1) + MARK(1 + z068) :|: z1 >= 0, z068 >= 0, z = 1 + (1 + z068) + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__U21(mark(z067)), z1) + MARK(1 + z067) :|: z = 1 + (1 + z067) + z1, z1 >= 0, z067 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U11(mark(z066)), z1) + MARK(1 + z066) :|: z1 >= 0, z = 1 + (1 + z066) + z1, z066 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(3, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U62(2, z1) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 MARK(z) -{ 1 }-> 1 + A__U62(1, z1) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 MARK(z) -{ 1 }-> 1 + A__U62(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U62(0, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U62(0, z1) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + mark(z080), z1) + MARK(1 + z080) :|: z080 >= 0, z1 >= 0, z = 1 + (1 + z080) + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + mark(z079) + z124, z1) + MARK(1 + z079 + z124) :|: z1 >= 0, z124 >= 0, z079 >= 0, z = 1 + (1 + z079 + z124) + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + 0 + 3, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U61(a__length(mark(z063)), z1, z2) + MARK(1 + z063) :|: z063 >= 0, z1 >= 0, z = 1 + (1 + z063) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNatList(z059), z1, z2) + MARK(1 + z059) :|: z1 >= 0, z = 1 + (1 + z059) + z1 + z2, z059 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNatIList(z056), z1, z2) + MARK(1 + z056) :|: z056 >= 0, z1 >= 0, z = 1 + (1 + z056) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNat(z062), z1, z2) + MARK(1 + z062) :|: z = 1 + (1 + z062) + z1 + z2, z1 >= 0, z062 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U62(mark(z061), z118), z1, z2) + MARK(1 + z061 + z118) :|: z1 >= 0, z118 >= 0, z = 1 + (1 + z061 + z118) + z1 + z2, z061 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U61(mark(z060), z117, z22), z1, z2) + MARK(1 + z060 + z117 + z22) :|: z117 >= 0, z1 >= 0, z = 1 + (1 + z060 + z117 + z22) + z1 + z2, z060 >= 0, z22 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U52(mark(z058)), z1, z2) + MARK(1 + z058) :|: z = 1 + (1 + z058) + z1 + z2, z1 >= 0, z058 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U51(mark(z057), z116), z1, z2) + MARK(1 + z057 + z116) :|: z = 1 + (1 + z057 + z116) + z1 + z2, z1 >= 0, z2 >= 0, z057 >= 0, z116 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U42(mark(z055)), z1, z2) + MARK(1 + z055) :|: z1 >= 0, z = 1 + (1 + z055) + z1 + z2, z055 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U41(mark(z054), z115), z1, z2) + MARK(1 + z054 + z115) :|: z1 >= 0, z054 >= 0, z115 >= 0, z2 >= 0, z = 1 + (1 + z054 + z115) + z1 + z2 MARK(z) -{ 1 }-> 1 + A__U61(a__U31(mark(z053)), z1, z2) + MARK(1 + z053) :|: z1 >= 0, z = 1 + (1 + z053) + z1 + z2, z053 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U21(mark(z052)), z1, z2) + MARK(1 + z052) :|: z052 >= 0, z1 >= 0, z = 1 + (1 + z052) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U11(mark(z051)), z1, z2) + MARK(1 + z051) :|: z = 1 + (1 + z051) + z1 + z2, z1 >= 0, z051 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(3, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(2, z1, z2) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1, z1, z2) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + mark(z065), z1, z2) + MARK(1 + z065) :|: z1 >= 0, z = 1 + (1 + z065) + z1 + z2, z065 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + mark(z064) + z119, z1, z2) + MARK(1 + z064 + z119) :|: z1 >= 0, z064 >= 0, z = 1 + (1 + z064 + z119) + z1 + z2, z119 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + 0 + 3, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__length(mark(z048)), z1) + MARK(1 + z048) :|: z1 >= 0, z = 1 + (1 + z048) + z1, z048 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__isNatList(z044), z1) + MARK(1 + z044) :|: z1 >= 0, z044 >= 0, z = 1 + (1 + z044) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__isNatIList(z041), z1) + MARK(1 + z041) :|: z1 >= 0, z041 >= 0, z = 1 + (1 + z041) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__isNat(z047), z1) + MARK(1 + z047) :|: z1 >= 0, z = 1 + (1 + z047) + z1, z047 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U62(mark(z046), z113), z1) + MARK(1 + z046 + z113) :|: z046 >= 0, z1 >= 0, z113 >= 0, z = 1 + (1 + z046 + z113) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U61(mark(z045), z112, z21), z1) + MARK(1 + z045 + z112 + z21) :|: z21 >= 0, z1 >= 0, z045 >= 0, z112 >= 0, z = 1 + (1 + z045 + z112 + z21) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U52(mark(z043)), z1) + MARK(1 + z043) :|: z1 >= 0, z043 >= 0, z = 1 + (1 + z043) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U51(mark(z042), z111), z1) + MARK(1 + z042 + z111) :|: z042 >= 0, z1 >= 0, z111 >= 0, z = 1 + (1 + z042 + z111) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U42(mark(z040)), z1) + MARK(1 + z040) :|: z1 >= 0, z040 >= 0, z = 1 + (1 + z040) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U41(mark(z039), z110), z1) + MARK(1 + z039 + z110) :|: z110 >= 0, z1 >= 0, z039 >= 0, z = 1 + (1 + z039 + z110) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U31(mark(z038)), z1) + MARK(1 + z038) :|: z1 >= 0, z = 1 + (1 + z038) + z1, z038 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U21(mark(z037)), z1) + MARK(1 + z037) :|: z1 >= 0, z = 1 + (1 + z037) + z1, z037 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U11(mark(z036)), z1) + MARK(1 + z036) :|: z036 >= 0, z1 >= 0, z = 1 + (1 + z036) + z1 MARK(z) -{ 1 }-> 1 + A__U51(3, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U51(2, z1) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 MARK(z) -{ 1 }-> 1 + A__U51(1, z1) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 MARK(z) -{ 1 }-> 1 + A__U51(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U51(0, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U51(0, z1) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 MARK(z) -{ 1 }-> 1 + A__U51(1 + mark(z050), z1) + MARK(1 + z050) :|: z1 >= 0, z = 1 + (1 + z050) + z1, z050 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(1 + mark(z049) + z114, z1) + MARK(1 + z049 + z114) :|: z114 >= 0, z1 >= 0, z049 >= 0, z = 1 + (1 + z049 + z114) + z1 MARK(z) -{ 1 }-> 1 + A__U51(1 + 0 + 3, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__length(mark(z033)), z1) + MARK(1 + z033) :|: z1 >= 0, z = 1 + (1 + z033) + z1, z033 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNatList(z029), z1) + MARK(1 + z029) :|: z029 >= 0, z = 1 + (1 + z029) + z1, z1 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNatIList(z026), z1) + MARK(1 + z026) :|: z1 >= 0, z = 1 + (1 + z026) + z1, z026 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNat(z032), z1) + MARK(1 + z032) :|: z032 >= 0, z1 >= 0, z = 1 + (1 + z032) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U62(mark(z031), z18), z1) + MARK(1 + z031 + z18) :|: z18 >= 0, z031 >= 0, z1 >= 0, z = 1 + (1 + z031 + z18) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U61(mark(z030), z17, z2''), z1) + MARK(1 + z030 + z17 + z2'') :|: z1 >= 0, z17 >= 0, z = 1 + (1 + z030 + z17 + z2'') + z1, z2'' >= 0, z030 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U52(mark(z028)), z1) + MARK(1 + z028) :|: z1 >= 0, z = 1 + (1 + z028) + z1, z028 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U51(mark(z027), z16), z1) + MARK(1 + z027 + z16) :|: z = 1 + (1 + z027 + z16) + z1, z1 >= 0, z027 >= 0, z16 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U42(mark(z025)), z1) + MARK(1 + z025) :|: z025 >= 0, z1 >= 0, z = 1 + (1 + z025) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U41(mark(z024), z15), z1) + MARK(1 + z024 + z15) :|: z = 1 + (1 + z024 + z15) + z1, z15 >= 0, z1 >= 0, z024 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U31(mark(z023)), z1) + MARK(1 + z023) :|: z1 >= 0, z023 >= 0, z = 1 + (1 + z023) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U21(mark(z022)), z1) + MARK(1 + z022) :|: z1 >= 0, z = 1 + (1 + z022) + z1, z022 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U11(mark(z021)), z1) + MARK(1 + z021) :|: z021 >= 0, z1 >= 0, z = 1 + (1 + z021) + z1 MARK(z) -{ 1 }-> 1 + A__U41(3, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U41(2, z1) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 MARK(z) -{ 1 }-> 1 + A__U41(1, z1) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 MARK(z) -{ 1 }-> 1 + A__U41(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U41(0, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__U41(0, z1) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 MARK(z) -{ 1 }-> 1 + A__U41(1 + mark(z035), z1) + MARK(1 + z035) :|: z035 >= 0, z1 >= 0, z = 1 + (1 + z035) + z1 MARK(z) -{ 1 }-> 1 + A__U41(1 + mark(z034) + z19, z1) + MARK(1 + z034 + z19) :|: z1 >= 0, z19 >= 0, z = 1 + (1 + z034 + z19) + z1, z034 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(1 + 0 + 3, z1) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__length(mark(z093))) + MARK(1 + z093) :|: z = 1 + (1 + z093), z093 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNatList(z089)) + MARK(1 + z089) :|: z089 >= 0, z = 1 + (1 + z089) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNatIList(z086)) + MARK(1 + z086) :|: z = 1 + (1 + z086), z086 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNat(z092)) + MARK(1 + z092) :|: z = 1 + (1 + z092), z092 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U62(mark(z091), z128)) + MARK(1 + z091 + z128) :|: z091 >= 0, z128 >= 0, z = 1 + (1 + z091 + z128) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U61(mark(z090), z127, z24)) + MARK(1 + z090 + z127 + z24) :|: z = 1 + (1 + z090 + z127 + z24), z24 >= 0, z127 >= 0, z090 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U52(mark(z088))) + MARK(1 + z088) :|: z088 >= 0, z = 1 + (1 + z088) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U51(mark(z087), z126)) + MARK(1 + z087 + z126) :|: z = 1 + (1 + z087 + z126), z087 >= 0, z126 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U42(mark(z085))) + MARK(1 + z085) :|: z = 1 + (1 + z085), z085 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U41(mark(z084), z125)) + MARK(1 + z084 + z125) :|: z084 >= 0, z125 >= 0, z = 1 + (1 + z084 + z125) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U31(mark(z083))) + MARK(1 + z083) :|: z083 >= 0, z = 1 + (1 + z083) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U21(mark(z082))) + MARK(1 + z082) :|: z = 1 + (1 + z082), z082 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U11(mark(z081))) + MARK(1 + z081) :|: z = 1 + (1 + z081), z081 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(3) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__LENGTH(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__LENGTH(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + mark(z095)) + MARK(1 + z095) :|: z095 >= 0, z = 1 + (1 + z095) MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + mark(z094) + z129) + MARK(1 + z094 + z129) :|: z094 >= 0, z129 >= 0, z = 1 + (1 + z094 + z129) MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + 0 + 3) + MARK(3) :|: z = 1 + 3 a__U11(z) -{ 0 }-> 2 :|: z = 2 a__U11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U11(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U21(z) -{ 0 }-> 2 :|: z = 2 a__U21(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U21(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U31(z) -{ 0 }-> 2 :|: z = 2 a__U31(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U31(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U41(z, z') -{ 0 }-> a__U42(a__U41(a__isNat(z096), z130)) :|: z = 2, z130 >= 0, z096 >= 0, z' = 1 + z096 + z130 a__U41(z, z') -{ 0 }-> a__U42(a__U31(a__isNatList(z0))) :|: z = 2, z0 >= 0, z' = z0 a__U41(z, z') -{ 0 }-> 2 :|: z = 2, z' = 3, 2 = 2 a__U41(z, z') -{ 0 }-> 2 :|: z = 2, z0 >= 0, z' = z0, 1 + z0 = 2 a__U41(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U41(z, z') -{ 0 }-> 0 :|: z = 2, z' = 3, v0 >= 0, 2 = v0 a__U41(z, z') -{ 0 }-> 0 :|: z = 2, z0 >= 0, z' = z0, v0 >= 0, 1 + z0 = v0 a__U41(z, z') -{ 0 }-> 0 :|: z = 2, z0 >= 0, z' = z0, v0 >= 0, 0 = v0 a__U41(z, z') -{ 0 }-> 1 + z0 :|: z = 2, z' = 3, 2 = z0, z0 >= 0 a__U41(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z0 >= 0, z' = z0, 1 + z0 = z0', z0' >= 0 a__U41(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z0 >= 0, z' = z0, 0 = z0', z0' >= 0 a__U41(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U42(z) -{ 0 }-> 2 :|: z = 2 a__U42(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U42(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U51(z, z') -{ 0 }-> a__U52(a__U51(a__isNat(z097), z131)) :|: z = 2, z131 >= 0, z' = 1 + z097 + z131, z097 >= 0 a__U51(z, z') -{ 0 }-> 2 :|: z = 2, z' = 1, 2 = 2 a__U51(z, z') -{ 0 }-> 2 :|: z = 2, z0 >= 0, z' = z0, 1 + z0 = 2 a__U51(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U51(z, z') -{ 0 }-> 0 :|: z = 2, z' = 1, v0 >= 0, 2 = v0 a__U51(z, z') -{ 0 }-> 0 :|: z = 2, z0 >= 0, z' = z0, v0 >= 0, 1 + z0 = v0 a__U51(z, z') -{ 0 }-> 0 :|: z = 2, z0 >= 0, z' = z0, v0 >= 0, 0 = v0 a__U51(z, z') -{ 0 }-> 1 + z0 :|: z = 2, z' = 1, 2 = z0, z0 >= 0 a__U51(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z0 >= 0, z' = z0, 1 + z0 = z0', z0' >= 0 a__U51(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z0 >= 0, z' = z0, 0 = z0', z0' >= 0 a__U51(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U52(z) -{ 0 }-> 2 :|: z = 2 a__U52(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U52(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__U21(a__isNat(z099)), z0) :|: z = 2, z099 >= 0, z'' = 1 + z099, z0 >= 0, z' = z0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__U11(a__isNatList(z098)), z0) :|: z = 2, z098 >= 0, z'' = 1 + z098, z0 >= 0, z' = z0 a__U61(z, z', z'') -{ 0 }-> a__U62(2, z0) :|: z = 2, z'' = 0, z0 >= 0, z' = z0 a__U61(z, z', z'') -{ 0 }-> a__U62(0, z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U61(z, z', z'') -{ 0 }-> a__U62(1 + z1, z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U61(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__U61(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 a__U62(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U62(z, z') -{ 0 }-> 1 + a__length(a__length(mark(z0112))) :|: z = 2, z0112 >= 0, z' = 1 + z0112 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNatList(z0108)) :|: z = 2, z0108 >= 0, z' = 1 + z0108 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNatIList(z0105)) :|: z = 2, z' = 1 + z0105, z0105 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNat(z0111)) :|: z = 2, z0111 >= 0, z' = 1 + z0111 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U62(mark(z0110), z135)) :|: z = 2, z' = 1 + z0110 + z135, z0110 >= 0, z135 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U61(mark(z0109), z134, z25)) :|: z = 2, z25 >= 0, z134 >= 0, z0109 >= 0, z' = 1 + z0109 + z134 + z25 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U52(mark(z0107))) :|: z = 2, z' = 1 + z0107, z0107 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U51(mark(z0106), z133)) :|: z = 2, z133 >= 0, z' = 1 + z0106 + z133, z0106 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U42(mark(z0104))) :|: z = 2, z0104 >= 0, z' = 1 + z0104 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U41(mark(z0103), z132)) :|: z = 2, z132 >= 0, z0103 >= 0, z' = 1 + z0103 + z132 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U31(mark(z0102))) :|: z = 2, z' = 1 + z0102, z0102 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U21(mark(z0101))) :|: z = 2, z0101 >= 0, z' = 1 + z0101 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U11(mark(z0100))) :|: z = 2, z' = 1 + z0100, z0100 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(3) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + a__length(2) :|: z = 2, z' = 2 a__U62(z, z') -{ 0 }-> 1 + a__length(1) :|: z = 2, z' = 1 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z' = 0 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z0 >= 0, z' = z0 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + mark(z0114)) :|: z = 2, z' = 1 + z0114, z0114 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + mark(z0113) + z136) :|: z = 2, z' = 1 + z0113 + z136, z0113 >= 0, z136 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + 0 + 3) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__isNat(z) -{ 0 }-> a__U21(a__U21(a__isNat(z0117))) :|: z = 1 + (1 + z0117), z0117 >= 0 a__isNat(z) -{ 0 }-> a__U21(a__U11(a__isNatList(z0116))) :|: z0116 >= 0, z = 1 + (1 + z0116) a__isNat(z) -{ 0 }-> a__U11(a__U51(a__isNat(z0115), z137)) :|: z0115 >= 0, z = 1 + (1 + z0115 + z137), z137 >= 0 a__isNat(z) -{ 0 }-> 2 :|: z = 0 a__isNat(z) -{ 0 }-> 2 :|: z = 1 + 1, 2 = 2 a__isNat(z) -{ 0 }-> 2 :|: z = 1 + z0, z0 >= 0, 1 + z0 = 2 a__isNat(z) -{ 0 }-> 2 :|: z = 1 + 0, 2 = 2 a__isNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNat(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 2 = v0 a__isNat(z) -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, v0 >= 0, 1 + z0 = v0 a__isNat(z) -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, v0 >= 0, 0 = v0 a__isNat(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 2 = v0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = 1 + 1, 2 = z0, z0 >= 0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = 1 + 0, 2 = z0, z0 >= 0 a__isNat(z) -{ 0 }-> 1 + z0' :|: z = 1 + z0, z0 >= 0, 1 + z0 = z0', z0' >= 0 a__isNat(z) -{ 0 }-> 1 + z0' :|: z = 1 + z0, z0 >= 0, 0 = z0', z0' >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__U21(a__isNat(z0120)), z1) :|: z1 >= 0, z = 1 + (1 + z0120) + z1, z0120 >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__U11(a__isNatList(z0119)), z1) :|: z0119 >= 0, z1 >= 0, z = 1 + (1 + z0119) + z1 a__isNatIList(z) -{ 0 }-> a__U41(2, z1) :|: z1 >= 0, z = 1 + 0 + z1 a__isNatIList(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U41(1 + z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U31(a__U51(a__isNat(z0118), z138)) :|: z138 >= 0, z0118 >= 0, z = 1 + z0118 + z138 a__isNatIList(z) -{ 0 }-> 2 :|: z = 3 a__isNatIList(z) -{ 0 }-> 2 :|: z = 1, 2 = 2 a__isNatIList(z) -{ 0 }-> 2 :|: z = z0, z0 >= 0, 1 + z0 = 2 a__isNatIList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatIList(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 2 = v0 a__isNatIList(z) -{ 0 }-> 0 :|: z = z0, z0 >= 0, v0 >= 0, 1 + z0 = v0 a__isNatIList(z) -{ 0 }-> 0 :|: z = z0, z0 >= 0, v0 >= 0, 0 = v0 a__isNatIList(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> 1 + z0 :|: z = 1, 2 = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> 1 + z0' :|: z = z0, z0 >= 0, 1 + z0 = z0', z0' >= 0 a__isNatIList(z) -{ 0 }-> 1 + z0' :|: z = z0, z0 >= 0, 0 = z0', z0' >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__U21(a__isNat(z0122)), z1) :|: z1 >= 0, z = 1 + (1 + z0122) + z1, z0122 >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__U11(a__isNatList(z0121)), z1) :|: z1 >= 0, z0121 >= 0, z = 1 + (1 + z0121) + z1 a__isNatList(z) -{ 0 }-> a__U51(2, z1) :|: z1 >= 0, z = 1 + 0 + z1 a__isNatList(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> a__U51(1 + z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> 2 :|: z = 1 a__isNatList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatList(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__length(z) -{ 0 }-> a__U61(a__U51(a__isNat(z0123), z139), 1 + z0123 + z139, z0) :|: z139 >= 0, z0 >= 0, z0123 >= 0, z = 1 + z0 + (1 + z0123 + z139) a__length(z) -{ 0 }-> a__U61(2, 1, z0) :|: z0 >= 0, z = 1 + z0 + 1 a__length(z) -{ 0 }-> a__U61(0, z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> a__U61(1 + z1, z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__zeros -{ 0 }-> 3 :|: a__zeros -{ 0 }-> 0 :|: a__zeros -{ 0 }-> 1 + 0 + 3 :|: mark(z) -{ 0 }-> a__length(a__length(mark(z0271))) :|: z0271 >= 0, z = 1 + (1 + z0271) mark(z) -{ 0 }-> a__length(a__isNatList(z0267)) :|: z = 1 + (1 + z0267), z0267 >= 0 mark(z) -{ 0 }-> a__length(a__isNatIList(z0264)) :|: z = 1 + (1 + z0264), z0264 >= 0 mark(z) -{ 0 }-> a__length(a__isNat(z0270)) :|: z0270 >= 0, z = 1 + (1 + z0270) mark(z) -{ 0 }-> a__length(a__U62(mark(z0269), z188)) :|: z0269 >= 0, z188 >= 0, z = 1 + (1 + z0269 + z188) mark(z) -{ 0 }-> a__length(a__U61(mark(z0268), z187, z215)) :|: z187 >= 0, z0268 >= 0, z = 1 + (1 + z0268 + z187 + z215), z215 >= 0 mark(z) -{ 0 }-> a__length(a__U52(mark(z0266))) :|: z0266 >= 0, z = 1 + (1 + z0266) mark(z) -{ 0 }-> a__length(a__U51(mark(z0265), z186)) :|: z0265 >= 0, z = 1 + (1 + z0265 + z186), z186 >= 0 mark(z) -{ 0 }-> a__length(a__U42(mark(z0263))) :|: z0263 >= 0, z = 1 + (1 + z0263) mark(z) -{ 0 }-> a__length(a__U41(mark(z0262), z185)) :|: z0262 >= 0, z185 >= 0, z = 1 + (1 + z0262 + z185) mark(z) -{ 0 }-> a__length(a__U31(mark(z0261))) :|: z0261 >= 0, z = 1 + (1 + z0261) mark(z) -{ 0 }-> a__length(a__U21(mark(z0260))) :|: z0260 >= 0, z = 1 + (1 + z0260) mark(z) -{ 0 }-> a__length(a__U11(mark(z0259))) :|: z = 1 + (1 + z0259), z0259 >= 0 mark(z) -{ 0 }-> a__length(3) :|: z = 1 + 3 mark(z) -{ 0 }-> a__length(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__length(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + 3 mark(z) -{ 0 }-> a__length(1 + mark(z0273)) :|: z0273 >= 0, z = 1 + (1 + z0273) mark(z) -{ 0 }-> a__length(1 + mark(z0272) + z189) :|: z0272 >= 0, z = 1 + (1 + z0272 + z189), z189 >= 0 mark(z) -{ 0 }-> a__length(1 + 0 + 3) :|: z = 1 + 3 mark(z) -{ 0 }-> a__isNatList(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNatIList(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNat(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U62(a__length(mark(z0256)), z1) :|: z0256 >= 0, z1 >= 0, z = 1 + (1 + z0256) + z1 mark(z) -{ 0 }-> a__U62(a__isNatList(z0252), z1) :|: z0252 >= 0, z1 >= 0, z = 1 + (1 + z0252) + z1 mark(z) -{ 0 }-> a__U62(a__isNatIList(z0249), z1) :|: z0249 >= 0, z1 >= 0, z = 1 + (1 + z0249) + z1 mark(z) -{ 0 }-> a__U62(a__isNat(z0255), z1) :|: z1 >= 0, z = 1 + (1 + z0255) + z1, z0255 >= 0 mark(z) -{ 0 }-> a__U62(a__U62(mark(z0254), z183), z1) :|: z = 1 + (1 + z0254 + z183) + z1, z183 >= 0, z1 >= 0, z0254 >= 0 mark(z) -{ 0 }-> a__U62(a__U61(mark(z0253), z182, z214), z1) :|: z1 >= 0, z182 >= 0, z = 1 + (1 + z0253 + z182 + z214) + z1, z214 >= 0, z0253 >= 0 mark(z) -{ 0 }-> a__U62(a__U52(mark(z0251)), z1) :|: z1 >= 0, z0251 >= 0, z = 1 + (1 + z0251) + z1 mark(z) -{ 0 }-> a__U62(a__U51(mark(z0250), z181), z1) :|: z1 >= 0, z0250 >= 0, z181 >= 0, z = 1 + (1 + z0250 + z181) + z1 mark(z) -{ 0 }-> a__U62(a__U42(mark(z0248)), z1) :|: z1 >= 0, z = 1 + (1 + z0248) + z1, z0248 >= 0 mark(z) -{ 0 }-> a__U62(a__U41(mark(z0247), z180), z1) :|: z1 >= 0, z = 1 + (1 + z0247 + z180) + z1, z0247 >= 0, z180 >= 0 mark(z) -{ 0 }-> a__U62(a__U31(mark(z0246)), z1) :|: z0246 >= 0, z1 >= 0, z = 1 + (1 + z0246) + z1 mark(z) -{ 0 }-> a__U62(a__U21(mark(z0245)), z1) :|: z = 1 + (1 + z0245) + z1, z1 >= 0, z0245 >= 0 mark(z) -{ 0 }-> a__U62(a__U11(mark(z0244)), z1) :|: z1 >= 0, z = 1 + (1 + z0244) + z1, z0244 >= 0 mark(z) -{ 0 }-> a__U62(3, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U62(2, z1) :|: z1 >= 0, z = 1 + 2 + z1 mark(z) -{ 0 }-> a__U62(1, z1) :|: z1 >= 0, z = 1 + 1 + z1 mark(z) -{ 0 }-> a__U62(0, z1) :|: z1 >= 0, z = 1 + 0 + z1 mark(z) -{ 0 }-> a__U62(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U62(0, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U62(1 + mark(z0258), z1) :|: z = 1 + (1 + z0258) + z1, z1 >= 0, z0258 >= 0 mark(z) -{ 0 }-> a__U62(1 + mark(z0257) + z184, z1) :|: z1 >= 0, z = 1 + (1 + z0257 + z184) + z1, z0257 >= 0, z184 >= 0 mark(z) -{ 0 }-> a__U62(1 + 0 + 3, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U61(a__length(mark(z0241)), z1, z2) :|: z1 >= 0, z0241 >= 0, z = 1 + (1 + z0241) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNatList(z0237), z1, z2) :|: z1 >= 0, z0237 >= 0, z = 1 + (1 + z0237) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNatIList(z0234), z1, z2) :|: z1 >= 0, z0234 >= 0, z = 1 + (1 + z0234) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNat(z0240), z1, z2) :|: z1 >= 0, z0240 >= 0, z = 1 + (1 + z0240) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U62(mark(z0239), z178), z1, z2) :|: z0239 >= 0, z1 >= 0, z = 1 + (1 + z0239 + z178) + z1 + z2, z178 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U61(mark(z0238), z177, z213), z1, z2) :|: z1 >= 0, z213 >= 0, z0238 >= 0, z = 1 + (1 + z0238 + z177 + z213) + z1 + z2, z177 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U52(mark(z0236)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0236) + z1 + z2, z0236 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U51(mark(z0235), z176), z1, z2) :|: z0235 >= 0, z1 >= 0, z = 1 + (1 + z0235 + z176) + z1 + z2, z2 >= 0, z176 >= 0 mark(z) -{ 0 }-> a__U61(a__U42(mark(z0233)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0233) + z1 + z2, z0233 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U41(mark(z0232), z175), z1, z2) :|: z1 >= 0, z0232 >= 0, z = 1 + (1 + z0232 + z175) + z1 + z2, z175 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U31(mark(z0231)), z1, z2) :|: z0231 >= 0, z = 1 + (1 + z0231) + z1 + z2, z1 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U21(mark(z0230)), z1, z2) :|: z1 >= 0, z0230 >= 0, z = 1 + (1 + z0230) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U11(mark(z0229)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0229) + z1 + z2, z0229 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(3, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(2, z1, z2) :|: z1 >= 0, z = 1 + 2 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(1, z1, z2) :|: z1 >= 0, z = 1 + 1 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + 0 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(1 + mark(z0243), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0243) + z1 + z2, z0243 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(1 + mark(z0242) + z179, z1, z2) :|: z0242 >= 0, z1 >= 0, z179 >= 0, z2 >= 0, z = 1 + (1 + z0242 + z179) + z1 + z2 mark(z) -{ 0 }-> a__U61(1 + 0 + 3, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U52(a__length(mark(z0226))) :|: z0226 >= 0, z = 1 + (1 + z0226) mark(z) -{ 0 }-> a__U52(a__isNatList(z0222)) :|: z = 1 + (1 + z0222), z0222 >= 0 mark(z) -{ 0 }-> a__U52(a__isNatIList(z0219)) :|: z0219 >= 0, z = 1 + (1 + z0219) mark(z) -{ 0 }-> a__U52(a__isNat(z0225)) :|: z = 1 + (1 + z0225), z0225 >= 0 mark(z) -{ 0 }-> a__U52(a__U62(mark(z0224), z173)) :|: z173 >= 0, z = 1 + (1 + z0224 + z173), z0224 >= 0 mark(z) -{ 0 }-> a__U52(a__U61(mark(z0223), z172, z212)) :|: z212 >= 0, z172 >= 0, z0223 >= 0, z = 1 + (1 + z0223 + z172 + z212) mark(z) -{ 0 }-> a__U52(a__U52(mark(z0221))) :|: z = 1 + (1 + z0221), z0221 >= 0 mark(z) -{ 0 }-> a__U52(a__U51(mark(z0220), z171)) :|: z171 >= 0, z0220 >= 0, z = 1 + (1 + z0220 + z171) mark(z) -{ 0 }-> a__U52(a__U42(mark(z0218))) :|: z0218 >= 0, z = 1 + (1 + z0218) mark(z) -{ 0 }-> a__U52(a__U41(mark(z0217), z170)) :|: z0217 >= 0, z = 1 + (1 + z0217 + z170), z170 >= 0 mark(z) -{ 0 }-> a__U52(a__U31(mark(z0216))) :|: z = 1 + (1 + z0216), z0216 >= 0 mark(z) -{ 0 }-> a__U52(a__U21(mark(z0215))) :|: z0215 >= 0, z = 1 + (1 + z0215) mark(z) -{ 0 }-> a__U52(a__U11(mark(z0214))) :|: z0214 >= 0, z = 1 + (1 + z0214) mark(z) -{ 0 }-> a__U52(1 + mark(z0228)) :|: z0228 >= 0, z = 1 + (1 + z0228) mark(z) -{ 0 }-> a__U52(1 + mark(z0227) + z174) :|: z = 1 + (1 + z0227 + z174), z0227 >= 0, z174 >= 0 mark(z) -{ 0 }-> a__U51(a__length(mark(z0211)), z1) :|: z1 >= 0, z0211 >= 0, z = 1 + (1 + z0211) + z1 mark(z) -{ 0 }-> a__U51(a__isNatList(z0207), z1) :|: z0207 >= 0, z1 >= 0, z = 1 + (1 + z0207) + z1 mark(z) -{ 0 }-> a__U51(a__isNatIList(z0204), z1) :|: z1 >= 0, z0204 >= 0, z = 1 + (1 + z0204) + z1 mark(z) -{ 0 }-> a__U51(a__isNat(z0210), z1) :|: z0210 >= 0, z1 >= 0, z = 1 + (1 + z0210) + z1 mark(z) -{ 0 }-> a__U51(a__U62(mark(z0209), z168), z1) :|: z = 1 + (1 + z0209 + z168) + z1, z1 >= 0, z0209 >= 0, z168 >= 0 mark(z) -{ 0 }-> a__U51(a__U61(mark(z0208), z167, z211), z1) :|: z1 >= 0, z = 1 + (1 + z0208 + z167 + z211) + z1, z0208 >= 0, z211 >= 0, z167 >= 0 mark(z) -{ 0 }-> a__U51(a__U52(mark(z0206)), z1) :|: z1 >= 0, z = 1 + (1 + z0206) + z1, z0206 >= 0 mark(z) -{ 0 }-> a__U51(a__U51(mark(z0205), z166), z1) :|: z1 >= 0, z = 1 + (1 + z0205 + z166) + z1, z0205 >= 0, z166 >= 0 mark(z) -{ 0 }-> a__U51(a__U42(mark(z0203)), z1) :|: z = 1 + (1 + z0203) + z1, z0203 >= 0, z1 >= 0 mark(z) -{ 0 }-> a__U51(a__U41(mark(z0202), z165), z1) :|: z1 >= 0, z0202 >= 0, z = 1 + (1 + z0202 + z165) + z1, z165 >= 0 mark(z) -{ 0 }-> a__U51(a__U31(mark(z0201)), z1) :|: z1 >= 0, z0201 >= 0, z = 1 + (1 + z0201) + z1 mark(z) -{ 0 }-> a__U51(a__U21(mark(z0200)), z1) :|: z1 >= 0, z0200 >= 0, z = 1 + (1 + z0200) + z1 mark(z) -{ 0 }-> a__U51(a__U11(mark(z0199)), z1) :|: z1 >= 0, z0199 >= 0, z = 1 + (1 + z0199) + z1 mark(z) -{ 0 }-> a__U51(3, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U51(2, z1) :|: z1 >= 0, z = 1 + 2 + z1 mark(z) -{ 0 }-> a__U51(1, z1) :|: z1 >= 0, z = 1 + 1 + z1 mark(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z = 1 + 0 + z1 mark(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U51(1 + mark(z0213), z1) :|: z1 >= 0, z = 1 + (1 + z0213) + z1, z0213 >= 0 mark(z) -{ 0 }-> a__U51(1 + mark(z0212) + z169, z1) :|: z1 >= 0, z169 >= 0, z = 1 + (1 + z0212 + z169) + z1, z0212 >= 0 mark(z) -{ 0 }-> a__U51(1 + 0 + 3, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U42(a__length(mark(z0196))) :|: z = 1 + (1 + z0196), z0196 >= 0 mark(z) -{ 0 }-> a__U42(a__isNatList(z0192)) :|: z0192 >= 0, z = 1 + (1 + z0192) mark(z) -{ 0 }-> a__U42(a__isNatIList(z0189)) :|: z = 1 + (1 + z0189), z0189 >= 0 mark(z) -{ 0 }-> a__U42(a__isNat(z0195)) :|: z0195 >= 0, z = 1 + (1 + z0195) mark(z) -{ 0 }-> a__U42(a__U62(mark(z0194), z163)) :|: z = 1 + (1 + z0194 + z163), z163 >= 0, z0194 >= 0 mark(z) -{ 0 }-> a__U42(a__U61(mark(z0193), z162, z210)) :|: z = 1 + (1 + z0193 + z162 + z210), z162 >= 0, z0193 >= 0, z210 >= 0 mark(z) -{ 0 }-> a__U42(a__U52(mark(z0191))) :|: z0191 >= 0, z = 1 + (1 + z0191) mark(z) -{ 0 }-> a__U42(a__U51(mark(z0190), z161)) :|: z0190 >= 0, z161 >= 0, z = 1 + (1 + z0190 + z161) mark(z) -{ 0 }-> a__U42(a__U42(mark(z0188))) :|: z = 1 + (1 + z0188), z0188 >= 0 mark(z) -{ 0 }-> a__U42(a__U41(mark(z0187), z160)) :|: z0187 >= 0, z160 >= 0, z = 1 + (1 + z0187 + z160) mark(z) -{ 0 }-> a__U42(a__U31(mark(z0186))) :|: z = 1 + (1 + z0186), z0186 >= 0 mark(z) -{ 0 }-> a__U42(a__U21(mark(z0185))) :|: z = 1 + (1 + z0185), z0185 >= 0 mark(z) -{ 0 }-> a__U42(a__U11(mark(z0184))) :|: z0184 >= 0, z = 1 + (1 + z0184) mark(z) -{ 0 }-> a__U42(1 + mark(z0198)) :|: z = 1 + (1 + z0198), z0198 >= 0 mark(z) -{ 0 }-> a__U42(1 + mark(z0197) + z164) :|: z0197 >= 0, z164 >= 0, z = 1 + (1 + z0197 + z164) mark(z) -{ 0 }-> a__U41(a__length(mark(z0181)), z1) :|: z1 >= 0, z = 1 + (1 + z0181) + z1, z0181 >= 0 mark(z) -{ 0 }-> a__U41(a__isNatList(z0177), z1) :|: z1 >= 0, z = 1 + (1 + z0177) + z1, z0177 >= 0 mark(z) -{ 0 }-> a__U41(a__isNatIList(z0174), z1) :|: z0174 >= 0, z1 >= 0, z = 1 + (1 + z0174) + z1 mark(z) -{ 0 }-> a__U41(a__isNat(z0180), z1) :|: z0180 >= 0, z1 >= 0, z = 1 + (1 + z0180) + z1 mark(z) -{ 0 }-> a__U41(a__U62(mark(z0179), z158), z1) :|: z1 >= 0, z = 1 + (1 + z0179 + z158) + z1, z0179 >= 0, z158 >= 0 mark(z) -{ 0 }-> a__U41(a__U61(mark(z0178), z157, z29), z1) :|: z0178 >= 0, z1 >= 0, z29 >= 0, z157 >= 0, z = 1 + (1 + z0178 + z157 + z29) + z1 mark(z) -{ 0 }-> a__U41(a__U52(mark(z0176)), z1) :|: z1 >= 0, z0176 >= 0, z = 1 + (1 + z0176) + z1 mark(z) -{ 0 }-> a__U41(a__U51(mark(z0175), z156), z1) :|: z1 >= 0, z = 1 + (1 + z0175 + z156) + z1, z0175 >= 0, z156 >= 0 mark(z) -{ 0 }-> a__U41(a__U42(mark(z0173)), z1) :|: z1 >= 0, z0173 >= 0, z = 1 + (1 + z0173) + z1 mark(z) -{ 0 }-> a__U41(a__U41(mark(z0172), z155), z1) :|: z = 1 + (1 + z0172 + z155) + z1, z155 >= 0, z1 >= 0, z0172 >= 0 mark(z) -{ 0 }-> a__U41(a__U31(mark(z0171)), z1) :|: z1 >= 0, z0171 >= 0, z = 1 + (1 + z0171) + z1 mark(z) -{ 0 }-> a__U41(a__U21(mark(z0170)), z1) :|: z = 1 + (1 + z0170) + z1, z0170 >= 0, z1 >= 0 mark(z) -{ 0 }-> a__U41(a__U11(mark(z0169)), z1) :|: z1 >= 0, z0169 >= 0, z = 1 + (1 + z0169) + z1 mark(z) -{ 0 }-> a__U41(3, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U41(2, z1) :|: z1 >= 0, z = 1 + 2 + z1 mark(z) -{ 0 }-> a__U41(1, z1) :|: z1 >= 0, z = 1 + 1 + z1 mark(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z = 1 + 0 + z1 mark(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U41(1 + mark(z0183), z1) :|: z = 1 + (1 + z0183) + z1, z1 >= 0, z0183 >= 0 mark(z) -{ 0 }-> a__U41(1 + mark(z0182) + z159, z1) :|: z159 >= 0, z1 >= 0, z = 1 + (1 + z0182 + z159) + z1, z0182 >= 0 mark(z) -{ 0 }-> a__U41(1 + 0 + 3, z1) :|: z1 >= 0, z = 1 + 3 + z1 mark(z) -{ 0 }-> a__U31(a__length(mark(z0166))) :|: z = 1 + (1 + z0166), z0166 >= 0 mark(z) -{ 0 }-> a__U31(a__isNatList(z0162)) :|: z0162 >= 0, z = 1 + (1 + z0162) mark(z) -{ 0 }-> a__U31(a__isNatIList(z0159)) :|: z = 1 + (1 + z0159), z0159 >= 0 mark(z) -{ 0 }-> a__U31(a__isNat(z0165)) :|: z = 1 + (1 + z0165), z0165 >= 0 mark(z) -{ 0 }-> a__U31(a__U62(mark(z0164), z153)) :|: z0164 >= 0, z = 1 + (1 + z0164 + z153), z153 >= 0 mark(z) -{ 0 }-> a__U31(a__U61(mark(z0163), z152, z28)) :|: z0163 >= 0, z28 >= 0, z152 >= 0, z = 1 + (1 + z0163 + z152 + z28) mark(z) -{ 0 }-> a__U31(a__U52(mark(z0161))) :|: z0161 >= 0, z = 1 + (1 + z0161) mark(z) -{ 0 }-> a__U31(a__U51(mark(z0160), z151)) :|: z151 >= 0, z0160 >= 0, z = 1 + (1 + z0160 + z151) mark(z) -{ 0 }-> a__U31(a__U42(mark(z0158))) :|: z0158 >= 0, z = 1 + (1 + z0158) mark(z) -{ 0 }-> a__U31(a__U41(mark(z0157), z150)) :|: z0157 >= 0, z = 1 + (1 + z0157 + z150), z150 >= 0 mark(z) -{ 0 }-> a__U31(a__U31(mark(z0156))) :|: z0156 >= 0, z = 1 + (1 + z0156) mark(z) -{ 0 }-> a__U31(a__U21(mark(z0155))) :|: z = 1 + (1 + z0155), z0155 >= 0 mark(z) -{ 0 }-> a__U31(a__U11(mark(z0154))) :|: z = 1 + (1 + z0154), z0154 >= 0 mark(z) -{ 0 }-> a__U31(1 + mark(z0168)) :|: z0168 >= 0, z = 1 + (1 + z0168) mark(z) -{ 0 }-> a__U31(1 + mark(z0167) + z154) :|: z0167 >= 0, z = 1 + (1 + z0167 + z154), z154 >= 0 mark(z) -{ 0 }-> a__U21(a__length(mark(z0151))) :|: z0151 >= 0, z = 1 + (1 + z0151) mark(z) -{ 0 }-> a__U21(a__isNatList(z0147)) :|: z0147 >= 0, z = 1 + (1 + z0147) mark(z) -{ 0 }-> a__U21(a__isNatIList(z0144)) :|: z = 1 + (1 + z0144), z0144 >= 0 mark(z) -{ 0 }-> a__U21(a__isNat(z0150)) :|: z = 1 + (1 + z0150), z0150 >= 0 mark(z) -{ 0 }-> a__U21(a__U62(mark(z0149), z148)) :|: z148 >= 0, z = 1 + (1 + z0149 + z148), z0149 >= 0 mark(z) -{ 0 }-> a__U21(a__U61(mark(z0148), z147, z27)) :|: z27 >= 0, z147 >= 0, z0148 >= 0, z = 1 + (1 + z0148 + z147 + z27) mark(z) -{ 0 }-> a__U21(a__U52(mark(z0146))) :|: z0146 >= 0, z = 1 + (1 + z0146) mark(z) -{ 0 }-> a__U21(a__U51(mark(z0145), z146)) :|: z = 1 + (1 + z0145 + z146), z0145 >= 0, z146 >= 0 mark(z) -{ 0 }-> a__U21(a__U42(mark(z0143))) :|: z0143 >= 0, z = 1 + (1 + z0143) mark(z) -{ 0 }-> a__U21(a__U41(mark(z0142), z145)) :|: z145 >= 0, z0142 >= 0, z = 1 + (1 + z0142 + z145) mark(z) -{ 0 }-> a__U21(a__U31(mark(z0141))) :|: z0141 >= 0, z = 1 + (1 + z0141) mark(z) -{ 0 }-> a__U21(a__U21(mark(z0140))) :|: z = 1 + (1 + z0140), z0140 >= 0 mark(z) -{ 0 }-> a__U21(a__U11(mark(z0139))) :|: z0139 >= 0, z = 1 + (1 + z0139) mark(z) -{ 0 }-> a__U21(1 + mark(z0153)) :|: z0153 >= 0, z = 1 + (1 + z0153) mark(z) -{ 0 }-> a__U21(1 + mark(z0152) + z149) :|: z149 >= 0, z = 1 + (1 + z0152 + z149), z0152 >= 0 mark(z) -{ 0 }-> a__U11(a__length(mark(z0136))) :|: z0136 >= 0, z = 1 + (1 + z0136) mark(z) -{ 0 }-> a__U11(a__isNatList(z0132)) :|: z0132 >= 0, z = 1 + (1 + z0132) mark(z) -{ 0 }-> a__U11(a__isNatIList(z0129)) :|: z0129 >= 0, z = 1 + (1 + z0129) mark(z) -{ 0 }-> a__U11(a__isNat(z0135)) :|: z = 1 + (1 + z0135), z0135 >= 0 mark(z) -{ 0 }-> a__U11(a__U62(mark(z0134), z143)) :|: z0134 >= 0, z143 >= 0, z = 1 + (1 + z0134 + z143) mark(z) -{ 0 }-> a__U11(a__U61(mark(z0133), z142, z26)) :|: z0133 >= 0, z26 >= 0, z142 >= 0, z = 1 + (1 + z0133 + z142 + z26) mark(z) -{ 0 }-> a__U11(a__U52(mark(z0131))) :|: z = 1 + (1 + z0131), z0131 >= 0 mark(z) -{ 0 }-> a__U11(a__U51(mark(z0130), z141)) :|: z141 >= 0, z0130 >= 0, z = 1 + (1 + z0130 + z141) mark(z) -{ 0 }-> a__U11(a__U42(mark(z0128))) :|: z = 1 + (1 + z0128), z0128 >= 0 mark(z) -{ 0 }-> a__U11(a__U41(mark(z0127), z140)) :|: z = 1 + (1 + z0127 + z140), z0127 >= 0, z140 >= 0 mark(z) -{ 0 }-> a__U11(a__U31(mark(z0126))) :|: z = 1 + (1 + z0126), z0126 >= 0 mark(z) -{ 0 }-> a__U11(a__U21(mark(z0125))) :|: z = 1 + (1 + z0125), z0125 >= 0 mark(z) -{ 0 }-> a__U11(a__U11(mark(z0124))) :|: z = 1 + (1 + z0124), z0124 >= 0 mark(z) -{ 0 }-> a__U11(1 + mark(z0138)) :|: z = 1 + (1 + z0138), z0138 >= 0 mark(z) -{ 0 }-> a__U11(1 + mark(z0137) + z144) :|: z = 1 + (1 + z0137 + z144), z144 >= 0, z0137 >= 0 mark(z) -{ 0 }-> 3 :|: z = 3 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 2 :|: z = 1 + 2, 2 = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 0 :|: z = 3 mark(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, v0 >= 0, 0 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 0 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 1 + 0 + 3 = v0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 0, 0 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 2, 2 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 1, 1 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 3, 3 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 3, 0 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 3, 1 + 0 + 3 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0' :|: z = 1 + z0, z0 >= 0, 0 = z0', z0' >= 0 mark(z) -{ 0 }-> 1 + mark(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 1 + mark(z0) + z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> 1 + 0 + 3 :|: z = 3 ---------------------------------------- (57) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: A__ISNAT(z) -{ 1 }-> 1 + A__ISNATLIST(z - 1) :|: z - 1 >= 0 A__ISNAT(z) -{ 1 }-> 1 + A__ISNAT(z - 1) :|: z - 1 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__ISNATLIST(z) :|: z >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__U21(a__isNat(z017)), z1) + A__ISNAT(1 + z017) :|: z1 >= 0, z = 1 + (1 + z017) + z1, z017 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__U11(a__isNatList(z016)), z1) + A__ISNAT(1 + z016) :|: z1 >= 0, z016 >= 0, z = 1 + (1 + z016) + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(2, z - 1) + A__ISNAT(0) :|: z - 1 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(1 + z0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__U21(a__isNat(z019)), z1) + A__ISNAT(1 + z019) :|: z019 >= 0, z1 >= 0, z = 1 + (1 + z019) + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__U11(a__isNatList(z018)), z1) + A__ISNAT(1 + z018) :|: z1 >= 0, z = 1 + (1 + z018) + z1, z018 >= 0 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(2, z - 1) + A__ISNAT(0) :|: z - 1 >= 0 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(1 + z0, z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(a__U51(a__isNat(z020), z14), 1 + z020 + z14, z0) + A__ISNATLIST(1 + z020 + z14) :|: z0 >= 0, z = 1 + z0 + (1 + z020 + z14), z020 >= 0, z14 >= 0 A__LENGTH(z) -{ 1 }-> 1 + A__U61(2, 1, z - 2) + A__ISNATLIST(1) :|: z - 2 >= 0 A__LENGTH(z) -{ 1 }-> 1 + A__U61(0, z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 1 }-> 1 + A__U61(1 + z1, z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__U41(z, z') -{ 1 }-> 1 + A__ISNATILIST(z') :|: z = 2, z' >= 0 A__U51(z, z') -{ 1 }-> 1 + A__ISNATLIST(z') :|: z = 2, z' >= 0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__U21(a__isNat(z'' - 1)), z') + A__ISNAT(1 + (z'' - 1)) :|: z = 2, z' >= 0, z'' - 1 >= 0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__U11(a__isNatList(z'' - 1)), z') + A__ISNAT(1 + (z'' - 1)) :|: z = 2, z'' - 1 >= 0, z' >= 0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(2, z') + A__ISNAT(0) :|: z = 2, z'' = 0, z' >= 0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(0, z') + A__ISNAT(z'') :|: z = 2, z'' >= 0, z' >= 0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(1 + z'', z') + A__ISNAT(z'') :|: z = 2, z'' >= 0, z' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__length(mark(z' - 1))) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNatList(z' - 1)) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNatIList(z' - 1)) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__isNat(z' - 1)) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U62(mark(z011), z12)) + MARK(1 + z011 + z12) :|: z = 2, z011 >= 0, z' = 1 + z011 + z12, z12 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U61(mark(z010), z11, z2')) + MARK(1 + z010 + z11 + z2') :|: z = 2, z' = 1 + z010 + z11 + z2', z11 >= 0, z2' >= 0, z010 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U52(mark(z' - 1))) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U51(mark(z07), z1'')) + MARK(1 + z07 + z1'') :|: z = 2, z07 >= 0, z' = 1 + z07 + z1'', z1'' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U42(mark(z' - 1))) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U41(mark(z04), z1')) + MARK(1 + z04 + z1') :|: z = 2, z04 >= 0, z' = 1 + z04 + z1', z1' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U31(mark(z' - 1))) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U21(mark(z' - 1))) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(a__U11(mark(z' - 1))) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(3) + MARK(3) :|: z = 2, z' = 3 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(2) + MARK(2) :|: z = 2, z' = 2 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1) + MARK(1) :|: z = 2, z' = 1 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(z') :|: z = 2, z' >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(3) :|: z = 2, z' = 3 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(0) + MARK(0) :|: z = 2, z' = 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + mark(z' - 1)) + MARK(1 + (z' - 1)) :|: z = 2, z' - 1 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + mark(z014) + z13) + MARK(1 + z014 + z13) :|: z = 2, z' = 1 + z014 + z13, z014 >= 0, z13 >= 0 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(1 + 0 + 3) + MARK(3) :|: z = 2, z' = 3 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATLIST(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATILIST(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNAT(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__length(mark(z078)), z1) + MARK(1 + z078) :|: z = 1 + (1 + z078) + z1, z1 >= 0, z078 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__isNatList(z074), z1) + MARK(1 + z074) :|: z1 >= 0, z074 >= 0, z = 1 + (1 + z074) + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__isNatIList(z071), z1) + MARK(1 + z071) :|: z = 1 + (1 + z071) + z1, z1 >= 0, z071 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__isNat(z077), z1) + MARK(1 + z077) :|: z1 >= 0, z = 1 + (1 + z077) + z1, z077 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U62(mark(z076), z123), z1) + MARK(1 + z076 + z123) :|: z1 >= 0, z = 1 + (1 + z076 + z123) + z1, z123 >= 0, z076 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U61(mark(z075), z122, z23), z1) + MARK(1 + z075 + z122 + z23) :|: z1 >= 0, z122 >= 0, z23 >= 0, z = 1 + (1 + z075 + z122 + z23) + z1, z075 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U52(mark(z073)), z1) + MARK(1 + z073) :|: z1 >= 0, z = 1 + (1 + z073) + z1, z073 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U51(mark(z072), z121), z1) + MARK(1 + z072 + z121) :|: z = 1 + (1 + z072 + z121) + z1, z1 >= 0, z121 >= 0, z072 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U42(mark(z070)), z1) + MARK(1 + z070) :|: z1 >= 0, z = 1 + (1 + z070) + z1, z070 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U41(mark(z069), z120), z1) + MARK(1 + z069 + z120) :|: z120 >= 0, z1 >= 0, z = 1 + (1 + z069 + z120) + z1, z069 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U31(mark(z068)), z1) + MARK(1 + z068) :|: z1 >= 0, z068 >= 0, z = 1 + (1 + z068) + z1 MARK(z) -{ 1 }-> 1 + A__U62(a__U21(mark(z067)), z1) + MARK(1 + z067) :|: z = 1 + (1 + z067) + z1, z1 >= 0, z067 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(a__U11(mark(z066)), z1) + MARK(1 + z066) :|: z1 >= 0, z = 1 + (1 + z066) + z1, z066 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(3, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(2, z - 3) + MARK(2) :|: z - 3 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(1, z - 2) + MARK(1) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U62(0, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(0, z - 1) + MARK(0) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(1 + mark(z080), z1) + MARK(1 + z080) :|: z080 >= 0, z1 >= 0, z = 1 + (1 + z080) + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + mark(z079) + z124, z1) + MARK(1 + z079 + z124) :|: z1 >= 0, z124 >= 0, z079 >= 0, z = 1 + (1 + z079 + z124) + z1 MARK(z) -{ 1 }-> 1 + A__U62(1 + 0 + 3, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__length(mark(z063)), z1, z2) + MARK(1 + z063) :|: z063 >= 0, z1 >= 0, z = 1 + (1 + z063) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNatList(z059), z1, z2) + MARK(1 + z059) :|: z1 >= 0, z = 1 + (1 + z059) + z1 + z2, z059 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNatIList(z056), z1, z2) + MARK(1 + z056) :|: z056 >= 0, z1 >= 0, z = 1 + (1 + z056) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__isNat(z062), z1, z2) + MARK(1 + z062) :|: z = 1 + (1 + z062) + z1 + z2, z1 >= 0, z062 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U62(mark(z061), z118), z1, z2) + MARK(1 + z061 + z118) :|: z1 >= 0, z118 >= 0, z = 1 + (1 + z061 + z118) + z1 + z2, z061 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U61(mark(z060), z117, z22), z1, z2) + MARK(1 + z060 + z117 + z22) :|: z117 >= 0, z1 >= 0, z = 1 + (1 + z060 + z117 + z22) + z1 + z2, z060 >= 0, z22 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U52(mark(z058)), z1, z2) + MARK(1 + z058) :|: z = 1 + (1 + z058) + z1 + z2, z1 >= 0, z058 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U51(mark(z057), z116), z1, z2) + MARK(1 + z057 + z116) :|: z = 1 + (1 + z057 + z116) + z1 + z2, z1 >= 0, z2 >= 0, z057 >= 0, z116 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U42(mark(z055)), z1, z2) + MARK(1 + z055) :|: z1 >= 0, z = 1 + (1 + z055) + z1 + z2, z055 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U41(mark(z054), z115), z1, z2) + MARK(1 + z054 + z115) :|: z1 >= 0, z054 >= 0, z115 >= 0, z2 >= 0, z = 1 + (1 + z054 + z115) + z1 + z2 MARK(z) -{ 1 }-> 1 + A__U61(a__U31(mark(z053)), z1, z2) + MARK(1 + z053) :|: z1 >= 0, z = 1 + (1 + z053) + z1 + z2, z053 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U21(mark(z052)), z1, z2) + MARK(1 + z052) :|: z052 >= 0, z1 >= 0, z = 1 + (1 + z052) + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(a__U11(mark(z051)), z1, z2) + MARK(1 + z051) :|: z = 1 + (1 + z051) + z1 + z2, z1 >= 0, z051 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(3, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(2, z1, z2) + MARK(2) :|: z1 >= 0, z = 1 + 2 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1, z1, z2) + MARK(1) :|: z1 >= 0, z = 1 + 1 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(0, z1, z2) + MARK(0) :|: z1 >= 0, z = 1 + 0 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + mark(z065), z1, z2) + MARK(1 + z065) :|: z1 >= 0, z = 1 + (1 + z065) + z1 + z2, z065 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + mark(z064) + z119, z1, z2) + MARK(1 + z064 + z119) :|: z1 >= 0, z064 >= 0, z = 1 + (1 + z064 + z119) + z1 + z2, z119 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U61(1 + 0 + 3, z1, z2) + MARK(3) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__length(mark(z048)), z1) + MARK(1 + z048) :|: z1 >= 0, z = 1 + (1 + z048) + z1, z048 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__isNatList(z044), z1) + MARK(1 + z044) :|: z1 >= 0, z044 >= 0, z = 1 + (1 + z044) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__isNatIList(z041), z1) + MARK(1 + z041) :|: z1 >= 0, z041 >= 0, z = 1 + (1 + z041) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__isNat(z047), z1) + MARK(1 + z047) :|: z1 >= 0, z = 1 + (1 + z047) + z1, z047 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U62(mark(z046), z113), z1) + MARK(1 + z046 + z113) :|: z046 >= 0, z1 >= 0, z113 >= 0, z = 1 + (1 + z046 + z113) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U61(mark(z045), z112, z21), z1) + MARK(1 + z045 + z112 + z21) :|: z21 >= 0, z1 >= 0, z045 >= 0, z112 >= 0, z = 1 + (1 + z045 + z112 + z21) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U52(mark(z043)), z1) + MARK(1 + z043) :|: z1 >= 0, z043 >= 0, z = 1 + (1 + z043) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U51(mark(z042), z111), z1) + MARK(1 + z042 + z111) :|: z042 >= 0, z1 >= 0, z111 >= 0, z = 1 + (1 + z042 + z111) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U42(mark(z040)), z1) + MARK(1 + z040) :|: z1 >= 0, z040 >= 0, z = 1 + (1 + z040) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U41(mark(z039), z110), z1) + MARK(1 + z039 + z110) :|: z110 >= 0, z1 >= 0, z039 >= 0, z = 1 + (1 + z039 + z110) + z1 MARK(z) -{ 1 }-> 1 + A__U51(a__U31(mark(z038)), z1) + MARK(1 + z038) :|: z1 >= 0, z = 1 + (1 + z038) + z1, z038 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U21(mark(z037)), z1) + MARK(1 + z037) :|: z1 >= 0, z = 1 + (1 + z037) + z1, z037 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(a__U11(mark(z036)), z1) + MARK(1 + z036) :|: z036 >= 0, z1 >= 0, z = 1 + (1 + z036) + z1 MARK(z) -{ 1 }-> 1 + A__U51(3, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(2, z - 3) + MARK(2) :|: z - 3 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(1, z - 2) + MARK(1) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U51(0, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(0, z - 1) + MARK(0) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(1 + mark(z050), z1) + MARK(1 + z050) :|: z1 >= 0, z = 1 + (1 + z050) + z1, z050 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(1 + mark(z049) + z114, z1) + MARK(1 + z049 + z114) :|: z114 >= 0, z1 >= 0, z049 >= 0, z = 1 + (1 + z049 + z114) + z1 MARK(z) -{ 1 }-> 1 + A__U51(1 + 0 + 3, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__length(mark(z033)), z1) + MARK(1 + z033) :|: z1 >= 0, z = 1 + (1 + z033) + z1, z033 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNatList(z029), z1) + MARK(1 + z029) :|: z029 >= 0, z = 1 + (1 + z029) + z1, z1 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNatIList(z026), z1) + MARK(1 + z026) :|: z1 >= 0, z = 1 + (1 + z026) + z1, z026 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__isNat(z032), z1) + MARK(1 + z032) :|: z032 >= 0, z1 >= 0, z = 1 + (1 + z032) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U62(mark(z031), z18), z1) + MARK(1 + z031 + z18) :|: z18 >= 0, z031 >= 0, z1 >= 0, z = 1 + (1 + z031 + z18) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U61(mark(z030), z17, z2''), z1) + MARK(1 + z030 + z17 + z2'') :|: z1 >= 0, z17 >= 0, z = 1 + (1 + z030 + z17 + z2'') + z1, z2'' >= 0, z030 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U52(mark(z028)), z1) + MARK(1 + z028) :|: z1 >= 0, z = 1 + (1 + z028) + z1, z028 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U51(mark(z027), z16), z1) + MARK(1 + z027 + z16) :|: z = 1 + (1 + z027 + z16) + z1, z1 >= 0, z027 >= 0, z16 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U42(mark(z025)), z1) + MARK(1 + z025) :|: z025 >= 0, z1 >= 0, z = 1 + (1 + z025) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U41(mark(z024), z15), z1) + MARK(1 + z024 + z15) :|: z = 1 + (1 + z024 + z15) + z1, z15 >= 0, z1 >= 0, z024 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U31(mark(z023)), z1) + MARK(1 + z023) :|: z1 >= 0, z023 >= 0, z = 1 + (1 + z023) + z1 MARK(z) -{ 1 }-> 1 + A__U41(a__U21(mark(z022)), z1) + MARK(1 + z022) :|: z1 >= 0, z = 1 + (1 + z022) + z1, z022 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(a__U11(mark(z021)), z1) + MARK(1 + z021) :|: z021 >= 0, z1 >= 0, z = 1 + (1 + z021) + z1 MARK(z) -{ 1 }-> 1 + A__U41(3, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(2, z - 3) + MARK(2) :|: z - 3 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(1, z - 2) + MARK(1) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U41(0, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(0, z - 1) + MARK(0) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(1 + mark(z035), z1) + MARK(1 + z035) :|: z035 >= 0, z1 >= 0, z = 1 + (1 + z035) + z1 MARK(z) -{ 1 }-> 1 + A__U41(1 + mark(z034) + z19, z1) + MARK(1 + z034 + z19) :|: z1 >= 0, z19 >= 0, z = 1 + (1 + z034 + z19) + z1, z034 >= 0 MARK(z) -{ 1 }-> 1 + A__U41(1 + 0 + 3, z - 4) + MARK(3) :|: z - 4 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__length(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNatList(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNatIList(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__isNat(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U62(mark(z091), z128)) + MARK(1 + z091 + z128) :|: z091 >= 0, z128 >= 0, z = 1 + (1 + z091 + z128) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U61(mark(z090), z127, z24)) + MARK(1 + z090 + z127 + z24) :|: z = 1 + (1 + z090 + z127 + z24), z24 >= 0, z127 >= 0, z090 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U52(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U51(mark(z087), z126)) + MARK(1 + z087 + z126) :|: z = 1 + (1 + z087 + z126), z087 >= 0, z126 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U42(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U41(mark(z084), z125)) + MARK(1 + z084 + z125) :|: z084 >= 0, z125 >= 0, z = 1 + (1 + z084 + z125) MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U31(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U21(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(a__U11(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(3) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__LENGTH(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__LENGTH(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(3) :|: z = 1 + 3 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(0) + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + mark(z - 2)) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + mark(z094) + z129) + MARK(1 + z094 + z129) :|: z094 >= 0, z129 >= 0, z = 1 + (1 + z094 + z129) MARK(z) -{ 1 }-> 1 + A__LENGTH(1 + 0 + 3) + MARK(3) :|: z = 1 + 3 a__U11(z) -{ 0 }-> 2 :|: z = 2 a__U11(z) -{ 0 }-> 0 :|: z >= 0 a__U11(z) -{ 0 }-> 1 + z :|: z >= 0 a__U21(z) -{ 0 }-> 2 :|: z = 2 a__U21(z) -{ 0 }-> 0 :|: z >= 0 a__U21(z) -{ 0 }-> 1 + z :|: z >= 0 a__U31(z) -{ 0 }-> 2 :|: z = 2 a__U31(z) -{ 0 }-> 0 :|: z >= 0 a__U31(z) -{ 0 }-> 1 + z :|: z >= 0 a__U41(z, z') -{ 0 }-> a__U42(a__U41(a__isNat(z096), z130)) :|: z = 2, z130 >= 0, z096 >= 0, z' = 1 + z096 + z130 a__U41(z, z') -{ 0 }-> a__U42(a__U31(a__isNatList(z'))) :|: z = 2, z' >= 0 a__U41(z, z') -{ 0 }-> 2 :|: z = 2, z' = 3, 2 = 2 a__U41(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0, 1 + z' = 2 a__U41(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 a__U41(z, z') -{ 0 }-> 0 :|: z = 2, z' = 3, v0 >= 0, 2 = v0 a__U41(z, z') -{ 0 }-> 0 :|: z = 2, z' >= 0, v0 >= 0, 1 + z' = v0 a__U41(z, z') -{ 0 }-> 0 :|: z = 2, z' >= 0, v0 >= 0, 0 = v0 a__U41(z, z') -{ 0 }-> 1 + z0 :|: z = 2, z' = 3, 2 = z0, z0 >= 0 a__U41(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z' >= 0, 1 + z' = z0', z0' >= 0 a__U41(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z' >= 0, 0 = z0', z0' >= 0 a__U41(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 a__U42(z) -{ 0 }-> 2 :|: z = 2 a__U42(z) -{ 0 }-> 0 :|: z >= 0 a__U42(z) -{ 0 }-> 1 + z :|: z >= 0 a__U51(z, z') -{ 0 }-> a__U52(a__U51(a__isNat(z097), z131)) :|: z = 2, z131 >= 0, z' = 1 + z097 + z131, z097 >= 0 a__U51(z, z') -{ 0 }-> 2 :|: z = 2, z' = 1, 2 = 2 a__U51(z, z') -{ 0 }-> 2 :|: z = 2, z' >= 0, 1 + z' = 2 a__U51(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 a__U51(z, z') -{ 0 }-> 0 :|: z = 2, z' = 1, v0 >= 0, 2 = v0 a__U51(z, z') -{ 0 }-> 0 :|: z = 2, z' >= 0, v0 >= 0, 1 + z' = v0 a__U51(z, z') -{ 0 }-> 0 :|: z = 2, z' >= 0, v0 >= 0, 0 = v0 a__U51(z, z') -{ 0 }-> 1 + z0 :|: z = 2, z' = 1, 2 = z0, z0 >= 0 a__U51(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z' >= 0, 1 + z' = z0', z0' >= 0 a__U51(z, z') -{ 0 }-> 1 + z0' :|: z = 2, z' >= 0, 0 = z0', z0' >= 0 a__U51(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 a__U52(z) -{ 0 }-> 2 :|: z = 2 a__U52(z) -{ 0 }-> 0 :|: z >= 0 a__U52(z) -{ 0 }-> 1 + z :|: z >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__U21(a__isNat(z'' - 1)), z') :|: z = 2, z'' - 1 >= 0, z' >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__U11(a__isNatList(z'' - 1)), z') :|: z = 2, z'' - 1 >= 0, z' >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(2, z') :|: z = 2, z'' = 0, z' >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(0, z') :|: z = 2, z'' >= 0, z' >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(1 + z'', z') :|: z = 2, z'' >= 0, z' >= 0 a__U61(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 a__U61(z, z', z'') -{ 0 }-> 1 + z + z' + z'' :|: z' >= 0, z >= 0, z'' >= 0 a__U62(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__length(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNatList(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNatIList(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__isNat(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U62(mark(z0110), z135)) :|: z = 2, z' = 1 + z0110 + z135, z0110 >= 0, z135 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U61(mark(z0109), z134, z25)) :|: z = 2, z25 >= 0, z134 >= 0, z0109 >= 0, z' = 1 + z0109 + z134 + z25 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U52(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U51(mark(z0106), z133)) :|: z = 2, z133 >= 0, z' = 1 + z0106 + z133, z0106 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U42(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U41(mark(z0103), z132)) :|: z = 2, z132 >= 0, z0103 >= 0, z' = 1 + z0103 + z132 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U31(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U21(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(a__U11(mark(z' - 1))) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(3) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + a__length(2) :|: z = 2, z' = 2 a__U62(z, z') -{ 0 }-> 1 + a__length(1) :|: z = 2, z' = 1 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z' = 0 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z' >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(0) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + mark(z' - 1)) :|: z = 2, z' - 1 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + mark(z0113) + z136) :|: z = 2, z' = 1 + z0113 + z136, z0113 >= 0, z136 >= 0 a__U62(z, z') -{ 0 }-> 1 + a__length(1 + 0 + 3) :|: z = 2, z' = 3 a__U62(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 a__isNat(z) -{ 0 }-> a__U21(a__U21(a__isNat(z - 2))) :|: z - 2 >= 0 a__isNat(z) -{ 0 }-> a__U21(a__U11(a__isNatList(z - 2))) :|: z - 2 >= 0 a__isNat(z) -{ 0 }-> a__U11(a__U51(a__isNat(z0115), z137)) :|: z0115 >= 0, z = 1 + (1 + z0115 + z137), z137 >= 0 a__isNat(z) -{ 0 }-> 2 :|: z = 0 a__isNat(z) -{ 0 }-> 2 :|: z = 1 + 1, 2 = 2 a__isNat(z) -{ 0 }-> 2 :|: z - 1 >= 0, 1 + (z - 1) = 2 a__isNat(z) -{ 0 }-> 2 :|: z = 1 + 0, 2 = 2 a__isNat(z) -{ 0 }-> 0 :|: z >= 0 a__isNat(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 2 = v0 a__isNat(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 1 + (z - 1) = v0 a__isNat(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 a__isNat(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 2 = v0 a__isNat(z) -{ 0 }-> 1 + z :|: z >= 0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = 1 + 1, 2 = z0, z0 >= 0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = 1 + 0, 2 = z0, z0 >= 0 a__isNat(z) -{ 0 }-> 1 + z0' :|: z - 1 >= 0, 1 + (z - 1) = z0', z0' >= 0 a__isNat(z) -{ 0 }-> 1 + z0' :|: z - 1 >= 0, 0 = z0', z0' >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__U21(a__isNat(z0120)), z1) :|: z1 >= 0, z = 1 + (1 + z0120) + z1, z0120 >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__U11(a__isNatList(z0119)), z1) :|: z0119 >= 0, z1 >= 0, z = 1 + (1 + z0119) + z1 a__isNatIList(z) -{ 0 }-> a__U41(2, z - 1) :|: z - 1 >= 0 a__isNatIList(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U41(1 + z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U31(a__U51(a__isNat(z0118), z138)) :|: z138 >= 0, z0118 >= 0, z = 1 + z0118 + z138 a__isNatIList(z) -{ 0 }-> 2 :|: z = 3 a__isNatIList(z) -{ 0 }-> 2 :|: z = 1, 2 = 2 a__isNatIList(z) -{ 0 }-> 2 :|: z >= 0, 1 + z = 2 a__isNatIList(z) -{ 0 }-> 0 :|: z >= 0 a__isNatIList(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 2 = v0 a__isNatIList(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 1 + z = v0 a__isNatIList(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 a__isNatIList(z) -{ 0 }-> 1 + z :|: z >= 0 a__isNatIList(z) -{ 0 }-> 1 + z0 :|: z = 1, 2 = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> 1 + z0' :|: z >= 0, 1 + z = z0', z0' >= 0 a__isNatIList(z) -{ 0 }-> 1 + z0' :|: z >= 0, 0 = z0', z0' >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__U21(a__isNat(z0122)), z1) :|: z1 >= 0, z = 1 + (1 + z0122) + z1, z0122 >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__U11(a__isNatList(z0121)), z1) :|: z1 >= 0, z0121 >= 0, z = 1 + (1 + z0121) + z1 a__isNatList(z) -{ 0 }-> a__U51(2, z - 1) :|: z - 1 >= 0 a__isNatList(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> a__U51(1 + z0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> 2 :|: z = 1 a__isNatList(z) -{ 0 }-> 0 :|: z >= 0 a__isNatList(z) -{ 0 }-> 1 + z :|: z >= 0 a__length(z) -{ 0 }-> a__U61(a__U51(a__isNat(z0123), z139), 1 + z0123 + z139, z0) :|: z139 >= 0, z0 >= 0, z0123 >= 0, z = 1 + z0 + (1 + z0123 + z139) a__length(z) -{ 0 }-> a__U61(2, 1, z - 2) :|: z - 2 >= 0 a__length(z) -{ 0 }-> a__U61(0, z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> a__U61(1 + z1, z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: z >= 0 a__length(z) -{ 0 }-> 1 + z :|: z >= 0 a__zeros -{ 0 }-> 3 :|: a__zeros -{ 0 }-> 0 :|: a__zeros -{ 0 }-> 1 + 0 + 3 :|: mark(z) -{ 0 }-> a__length(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__U62(mark(z0269), z188)) :|: z0269 >= 0, z188 >= 0, z = 1 + (1 + z0269 + z188) mark(z) -{ 0 }-> a__length(a__U61(mark(z0268), z187, z215)) :|: z187 >= 0, z0268 >= 0, z = 1 + (1 + z0268 + z187 + z215), z215 >= 0 mark(z) -{ 0 }-> a__length(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__U51(mark(z0265), z186)) :|: z0265 >= 0, z = 1 + (1 + z0265 + z186), z186 >= 0 mark(z) -{ 0 }-> a__length(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__U41(mark(z0262), z185)) :|: z0262 >= 0, z185 >= 0, z = 1 + (1 + z0262 + z185) mark(z) -{ 0 }-> a__length(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(3) :|: z = 1 + 3 mark(z) -{ 0 }-> a__length(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__length(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__length(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__length(0) :|: z = 1 + 3 mark(z) -{ 0 }-> a__length(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__length(1 + mark(z0272) + z189) :|: z0272 >= 0, z = 1 + (1 + z0272 + z189), z189 >= 0 mark(z) -{ 0 }-> a__length(1 + 0 + 3) :|: z = 1 + 3 mark(z) -{ 0 }-> a__isNatList(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__isNatIList(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__isNat(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__U62(a__length(mark(z0256)), z1) :|: z0256 >= 0, z1 >= 0, z = 1 + (1 + z0256) + z1 mark(z) -{ 0 }-> a__U62(a__isNatList(z0252), z1) :|: z0252 >= 0, z1 >= 0, z = 1 + (1 + z0252) + z1 mark(z) -{ 0 }-> a__U62(a__isNatIList(z0249), z1) :|: z0249 >= 0, z1 >= 0, z = 1 + (1 + z0249) + z1 mark(z) -{ 0 }-> a__U62(a__isNat(z0255), z1) :|: z1 >= 0, z = 1 + (1 + z0255) + z1, z0255 >= 0 mark(z) -{ 0 }-> a__U62(a__U62(mark(z0254), z183), z1) :|: z = 1 + (1 + z0254 + z183) + z1, z183 >= 0, z1 >= 0, z0254 >= 0 mark(z) -{ 0 }-> a__U62(a__U61(mark(z0253), z182, z214), z1) :|: z1 >= 0, z182 >= 0, z = 1 + (1 + z0253 + z182 + z214) + z1, z214 >= 0, z0253 >= 0 mark(z) -{ 0 }-> a__U62(a__U52(mark(z0251)), z1) :|: z1 >= 0, z0251 >= 0, z = 1 + (1 + z0251) + z1 mark(z) -{ 0 }-> a__U62(a__U51(mark(z0250), z181), z1) :|: z1 >= 0, z0250 >= 0, z181 >= 0, z = 1 + (1 + z0250 + z181) + z1 mark(z) -{ 0 }-> a__U62(a__U42(mark(z0248)), z1) :|: z1 >= 0, z = 1 + (1 + z0248) + z1, z0248 >= 0 mark(z) -{ 0 }-> a__U62(a__U41(mark(z0247), z180), z1) :|: z1 >= 0, z = 1 + (1 + z0247 + z180) + z1, z0247 >= 0, z180 >= 0 mark(z) -{ 0 }-> a__U62(a__U31(mark(z0246)), z1) :|: z0246 >= 0, z1 >= 0, z = 1 + (1 + z0246) + z1 mark(z) -{ 0 }-> a__U62(a__U21(mark(z0245)), z1) :|: z = 1 + (1 + z0245) + z1, z1 >= 0, z0245 >= 0 mark(z) -{ 0 }-> a__U62(a__U11(mark(z0244)), z1) :|: z1 >= 0, z = 1 + (1 + z0244) + z1, z0244 >= 0 mark(z) -{ 0 }-> a__U62(3, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U62(2, z - 3) :|: z - 3 >= 0 mark(z) -{ 0 }-> a__U62(1, z - 2) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U62(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U62(0, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U62(0, z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__U62(1 + mark(z0258), z1) :|: z = 1 + (1 + z0258) + z1, z1 >= 0, z0258 >= 0 mark(z) -{ 0 }-> a__U62(1 + mark(z0257) + z184, z1) :|: z1 >= 0, z = 1 + (1 + z0257 + z184) + z1, z0257 >= 0, z184 >= 0 mark(z) -{ 0 }-> a__U62(1 + 0 + 3, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U61(a__length(mark(z0241)), z1, z2) :|: z1 >= 0, z0241 >= 0, z = 1 + (1 + z0241) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNatList(z0237), z1, z2) :|: z1 >= 0, z0237 >= 0, z = 1 + (1 + z0237) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNatIList(z0234), z1, z2) :|: z1 >= 0, z0234 >= 0, z = 1 + (1 + z0234) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__isNat(z0240), z1, z2) :|: z1 >= 0, z0240 >= 0, z = 1 + (1 + z0240) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U62(mark(z0239), z178), z1, z2) :|: z0239 >= 0, z1 >= 0, z = 1 + (1 + z0239 + z178) + z1 + z2, z178 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U61(mark(z0238), z177, z213), z1, z2) :|: z1 >= 0, z213 >= 0, z0238 >= 0, z = 1 + (1 + z0238 + z177 + z213) + z1 + z2, z177 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U52(mark(z0236)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0236) + z1 + z2, z0236 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U51(mark(z0235), z176), z1, z2) :|: z0235 >= 0, z1 >= 0, z = 1 + (1 + z0235 + z176) + z1 + z2, z2 >= 0, z176 >= 0 mark(z) -{ 0 }-> a__U61(a__U42(mark(z0233)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0233) + z1 + z2, z0233 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U41(mark(z0232), z175), z1, z2) :|: z1 >= 0, z0232 >= 0, z = 1 + (1 + z0232 + z175) + z1 + z2, z175 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U31(mark(z0231)), z1, z2) :|: z0231 >= 0, z = 1 + (1 + z0231) + z1 + z2, z1 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U21(mark(z0230)), z1, z2) :|: z1 >= 0, z0230 >= 0, z = 1 + (1 + z0230) + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(a__U11(mark(z0229)), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0229) + z1 + z2, z0229 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(3, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(2, z1, z2) :|: z1 >= 0, z = 1 + 2 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(1, z1, z2) :|: z1 >= 0, z = 1 + 1 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + 0 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(0, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U61(1 + mark(z0243), z1, z2) :|: z1 >= 0, z = 1 + (1 + z0243) + z1 + z2, z0243 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U61(1 + mark(z0242) + z179, z1, z2) :|: z0242 >= 0, z1 >= 0, z179 >= 0, z2 >= 0, z = 1 + (1 + z0242 + z179) + z1 + z2 mark(z) -{ 0 }-> a__U61(1 + 0 + 3, z1, z2) :|: z1 >= 0, z = 1 + 3 + z1 + z2, z2 >= 0 mark(z) -{ 0 }-> a__U52(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__U62(mark(z0224), z173)) :|: z173 >= 0, z = 1 + (1 + z0224 + z173), z0224 >= 0 mark(z) -{ 0 }-> a__U52(a__U61(mark(z0223), z172, z212)) :|: z212 >= 0, z172 >= 0, z0223 >= 0, z = 1 + (1 + z0223 + z172 + z212) mark(z) -{ 0 }-> a__U52(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__U51(mark(z0220), z171)) :|: z171 >= 0, z0220 >= 0, z = 1 + (1 + z0220 + z171) mark(z) -{ 0 }-> a__U52(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__U41(mark(z0217), z170)) :|: z0217 >= 0, z = 1 + (1 + z0217 + z170), z170 >= 0 mark(z) -{ 0 }-> a__U52(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U52(1 + mark(z0227) + z174) :|: z = 1 + (1 + z0227 + z174), z0227 >= 0, z174 >= 0 mark(z) -{ 0 }-> a__U51(a__length(mark(z0211)), z1) :|: z1 >= 0, z0211 >= 0, z = 1 + (1 + z0211) + z1 mark(z) -{ 0 }-> a__U51(a__isNatList(z0207), z1) :|: z0207 >= 0, z1 >= 0, z = 1 + (1 + z0207) + z1 mark(z) -{ 0 }-> a__U51(a__isNatIList(z0204), z1) :|: z1 >= 0, z0204 >= 0, z = 1 + (1 + z0204) + z1 mark(z) -{ 0 }-> a__U51(a__isNat(z0210), z1) :|: z0210 >= 0, z1 >= 0, z = 1 + (1 + z0210) + z1 mark(z) -{ 0 }-> a__U51(a__U62(mark(z0209), z168), z1) :|: z = 1 + (1 + z0209 + z168) + z1, z1 >= 0, z0209 >= 0, z168 >= 0 mark(z) -{ 0 }-> a__U51(a__U61(mark(z0208), z167, z211), z1) :|: z1 >= 0, z = 1 + (1 + z0208 + z167 + z211) + z1, z0208 >= 0, z211 >= 0, z167 >= 0 mark(z) -{ 0 }-> a__U51(a__U52(mark(z0206)), z1) :|: z1 >= 0, z = 1 + (1 + z0206) + z1, z0206 >= 0 mark(z) -{ 0 }-> a__U51(a__U51(mark(z0205), z166), z1) :|: z1 >= 0, z = 1 + (1 + z0205 + z166) + z1, z0205 >= 0, z166 >= 0 mark(z) -{ 0 }-> a__U51(a__U42(mark(z0203)), z1) :|: z = 1 + (1 + z0203) + z1, z0203 >= 0, z1 >= 0 mark(z) -{ 0 }-> a__U51(a__U41(mark(z0202), z165), z1) :|: z1 >= 0, z0202 >= 0, z = 1 + (1 + z0202 + z165) + z1, z165 >= 0 mark(z) -{ 0 }-> a__U51(a__U31(mark(z0201)), z1) :|: z1 >= 0, z0201 >= 0, z = 1 + (1 + z0201) + z1 mark(z) -{ 0 }-> a__U51(a__U21(mark(z0200)), z1) :|: z1 >= 0, z0200 >= 0, z = 1 + (1 + z0200) + z1 mark(z) -{ 0 }-> a__U51(a__U11(mark(z0199)), z1) :|: z1 >= 0, z0199 >= 0, z = 1 + (1 + z0199) + z1 mark(z) -{ 0 }-> a__U51(3, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U51(2, z - 3) :|: z - 3 >= 0 mark(z) -{ 0 }-> a__U51(1, z - 2) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U51(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U51(0, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U51(0, z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__U51(1 + mark(z0213), z1) :|: z1 >= 0, z = 1 + (1 + z0213) + z1, z0213 >= 0 mark(z) -{ 0 }-> a__U51(1 + mark(z0212) + z169, z1) :|: z1 >= 0, z169 >= 0, z = 1 + (1 + z0212 + z169) + z1, z0212 >= 0 mark(z) -{ 0 }-> a__U51(1 + 0 + 3, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U42(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__U62(mark(z0194), z163)) :|: z = 1 + (1 + z0194 + z163), z163 >= 0, z0194 >= 0 mark(z) -{ 0 }-> a__U42(a__U61(mark(z0193), z162, z210)) :|: z = 1 + (1 + z0193 + z162 + z210), z162 >= 0, z0193 >= 0, z210 >= 0 mark(z) -{ 0 }-> a__U42(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__U51(mark(z0190), z161)) :|: z0190 >= 0, z161 >= 0, z = 1 + (1 + z0190 + z161) mark(z) -{ 0 }-> a__U42(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__U41(mark(z0187), z160)) :|: z0187 >= 0, z160 >= 0, z = 1 + (1 + z0187 + z160) mark(z) -{ 0 }-> a__U42(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U42(1 + mark(z0197) + z164) :|: z0197 >= 0, z164 >= 0, z = 1 + (1 + z0197 + z164) mark(z) -{ 0 }-> a__U41(a__length(mark(z0181)), z1) :|: z1 >= 0, z = 1 + (1 + z0181) + z1, z0181 >= 0 mark(z) -{ 0 }-> a__U41(a__isNatList(z0177), z1) :|: z1 >= 0, z = 1 + (1 + z0177) + z1, z0177 >= 0 mark(z) -{ 0 }-> a__U41(a__isNatIList(z0174), z1) :|: z0174 >= 0, z1 >= 0, z = 1 + (1 + z0174) + z1 mark(z) -{ 0 }-> a__U41(a__isNat(z0180), z1) :|: z0180 >= 0, z1 >= 0, z = 1 + (1 + z0180) + z1 mark(z) -{ 0 }-> a__U41(a__U62(mark(z0179), z158), z1) :|: z1 >= 0, z = 1 + (1 + z0179 + z158) + z1, z0179 >= 0, z158 >= 0 mark(z) -{ 0 }-> a__U41(a__U61(mark(z0178), z157, z29), z1) :|: z0178 >= 0, z1 >= 0, z29 >= 0, z157 >= 0, z = 1 + (1 + z0178 + z157 + z29) + z1 mark(z) -{ 0 }-> a__U41(a__U52(mark(z0176)), z1) :|: z1 >= 0, z0176 >= 0, z = 1 + (1 + z0176) + z1 mark(z) -{ 0 }-> a__U41(a__U51(mark(z0175), z156), z1) :|: z1 >= 0, z = 1 + (1 + z0175 + z156) + z1, z0175 >= 0, z156 >= 0 mark(z) -{ 0 }-> a__U41(a__U42(mark(z0173)), z1) :|: z1 >= 0, z0173 >= 0, z = 1 + (1 + z0173) + z1 mark(z) -{ 0 }-> a__U41(a__U41(mark(z0172), z155), z1) :|: z = 1 + (1 + z0172 + z155) + z1, z155 >= 0, z1 >= 0, z0172 >= 0 mark(z) -{ 0 }-> a__U41(a__U31(mark(z0171)), z1) :|: z1 >= 0, z0171 >= 0, z = 1 + (1 + z0171) + z1 mark(z) -{ 0 }-> a__U41(a__U21(mark(z0170)), z1) :|: z = 1 + (1 + z0170) + z1, z0170 >= 0, z1 >= 0 mark(z) -{ 0 }-> a__U41(a__U11(mark(z0169)), z1) :|: z1 >= 0, z0169 >= 0, z = 1 + (1 + z0169) + z1 mark(z) -{ 0 }-> a__U41(3, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U41(2, z - 3) :|: z - 3 >= 0 mark(z) -{ 0 }-> a__U41(1, z - 2) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U41(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U41(0, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U41(0, z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> a__U41(1 + mark(z0183), z1) :|: z = 1 + (1 + z0183) + z1, z1 >= 0, z0183 >= 0 mark(z) -{ 0 }-> a__U41(1 + mark(z0182) + z159, z1) :|: z159 >= 0, z1 >= 0, z = 1 + (1 + z0182 + z159) + z1, z0182 >= 0 mark(z) -{ 0 }-> a__U41(1 + 0 + 3, z - 4) :|: z - 4 >= 0 mark(z) -{ 0 }-> a__U31(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__U62(mark(z0164), z153)) :|: z0164 >= 0, z = 1 + (1 + z0164 + z153), z153 >= 0 mark(z) -{ 0 }-> a__U31(a__U61(mark(z0163), z152, z28)) :|: z0163 >= 0, z28 >= 0, z152 >= 0, z = 1 + (1 + z0163 + z152 + z28) mark(z) -{ 0 }-> a__U31(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__U51(mark(z0160), z151)) :|: z151 >= 0, z0160 >= 0, z = 1 + (1 + z0160 + z151) mark(z) -{ 0 }-> a__U31(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__U41(mark(z0157), z150)) :|: z0157 >= 0, z = 1 + (1 + z0157 + z150), z150 >= 0 mark(z) -{ 0 }-> a__U31(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U31(1 + mark(z0167) + z154) :|: z0167 >= 0, z = 1 + (1 + z0167 + z154), z154 >= 0 mark(z) -{ 0 }-> a__U21(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__U62(mark(z0149), z148)) :|: z148 >= 0, z = 1 + (1 + z0149 + z148), z0149 >= 0 mark(z) -{ 0 }-> a__U21(a__U61(mark(z0148), z147, z27)) :|: z27 >= 0, z147 >= 0, z0148 >= 0, z = 1 + (1 + z0148 + z147 + z27) mark(z) -{ 0 }-> a__U21(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__U51(mark(z0145), z146)) :|: z = 1 + (1 + z0145 + z146), z0145 >= 0, z146 >= 0 mark(z) -{ 0 }-> a__U21(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__U41(mark(z0142), z145)) :|: z145 >= 0, z0142 >= 0, z = 1 + (1 + z0142 + z145) mark(z) -{ 0 }-> a__U21(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U21(1 + mark(z0152) + z149) :|: z149 >= 0, z = 1 + (1 + z0152 + z149), z0152 >= 0 mark(z) -{ 0 }-> a__U11(a__length(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__isNatList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__isNatIList(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__isNat(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__U62(mark(z0134), z143)) :|: z0134 >= 0, z143 >= 0, z = 1 + (1 + z0134 + z143) mark(z) -{ 0 }-> a__U11(a__U61(mark(z0133), z142, z26)) :|: z0133 >= 0, z26 >= 0, z142 >= 0, z = 1 + (1 + z0133 + z142 + z26) mark(z) -{ 0 }-> a__U11(a__U52(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__U51(mark(z0130), z141)) :|: z141 >= 0, z0130 >= 0, z = 1 + (1 + z0130 + z141) mark(z) -{ 0 }-> a__U11(a__U42(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__U41(mark(z0127), z140)) :|: z = 1 + (1 + z0127 + z140), z0127 >= 0, z140 >= 0 mark(z) -{ 0 }-> a__U11(a__U31(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__U21(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(a__U11(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(1 + mark(z - 2)) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__U11(1 + mark(z0137) + z144) :|: z = 1 + (1 + z0137 + z144), z144 >= 0, z0137 >= 0 mark(z) -{ 0 }-> 3 :|: z = 3 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 2 :|: z = 1 + 2, 2 = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 0 }-> 0 :|: z = 3 mark(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 mark(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 3 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 0 = v0 mark(z) -{ 0 }-> 0 :|: z = 1 + 3, v0 >= 0, 1 + 0 + 3 = v0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 0, 0 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 2, 2 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 1, 1 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 3, 3 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 3, 0 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0 :|: z = 1 + 3, 1 + 0 + 3 = z0, z0 >= 0 mark(z) -{ 0 }-> 1 + z0' :|: z - 1 >= 0, 0 = z0', z0' >= 0 mark(z) -{ 0 }-> 1 + mark(z - 1) :|: z - 1 >= 0 mark(z) -{ 0 }-> 1 + mark(z0) + z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> 1 + 0 + 3 :|: z = 3 ---------------------------------------- (59) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: a__zeros -> null_a__zeros [0] a__U11(v0) -> null_a__U11 [0] a__U21(v0) -> null_a__U21 [0] a__U31(v0) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U42(v0) -> null_a__U42 [0] a__U51(v0, v1) -> null_a__U51 [0] a__U52(v0) -> null_a__U52 [0] a__U61(v0, v1, v2) -> null_a__U61 [0] a__U62(v0, v1) -> null_a__U62 [0] a__isNat(v0) -> null_a__isNat [0] a__isNatIList(v0) -> null_a__isNatIList [0] a__isNatList(v0) -> null_a__isNatList [0] a__length(v0) -> null_a__length [0] mark(v0) -> null_mark [0] A__U61(v0, v1, v2) -> null_A__U61 [0] A__U62(v0, v1) -> null_A__U62 [0] A__ISNATLIST(v0) -> null_A__ISNATLIST [0] A__LENGTH(v0) -> null_A__LENGTH [0] MARK(v0) -> null_MARK [0] A__U41(v0, v1) -> null_A__U41 [0] A__U51(v0, v1) -> null_A__U51 [0] A__ISNAT(v0) -> null_A__ISNAT [0] And the following fresh constants: null_a__zeros, null_a__U11, null_a__U21, null_a__U31, null_a__U41, null_a__U42, null_a__U51, null_a__U52, null_a__U61, null_a__U62, null_a__isNat, null_a__isNatIList, null_a__isNatList, null_a__length, null_mark, null_A__U61, null_A__U62, null_A__ISNATLIST, null_A__LENGTH, null_MARK, null_A__U41, null_A__U51, null_A__ISNAT, const ---------------------------------------- (60) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) [1] A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) [1] A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) [1] A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) [1] MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) [1] MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) [1] MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) [1] MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) [1] MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) [1] MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) [1] MARK(isNat(z0)) -> c46(A__ISNAT(z0)) [1] MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) [1] MARK(cons(z0, z1)) -> c48(MARK(z0)) [1] MARK(s(z0)) -> c51(MARK(z0)) [1] A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) [1] A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) [1] A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) [1] A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) [1] A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) [1] MARK(U11(z0)) -> c35(MARK(z0)) [1] MARK(U21(z0)) -> c36(MARK(z0)) [1] MARK(U31(z0)) -> c37(MARK(z0)) [1] MARK(U42(z0)) -> c39(MARK(z0)) [1] MARK(U52(z0)) -> c42(MARK(z0)) [1] a__zeros -> cons(0, zeros) [0] a__zeros -> zeros [0] a__U11(tt) -> tt [0] a__U11(z0) -> U11(z0) [0] a__U21(tt) -> tt [0] a__U21(z0) -> U21(z0) [0] a__U31(tt) -> tt [0] a__U31(z0) -> U31(z0) [0] a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) [0] a__U41(z0, z1) -> U41(z0, z1) [0] a__U42(tt) -> tt [0] a__U42(z0) -> U42(z0) [0] a__U51(tt, z0) -> a__U52(a__isNatList(z0)) [0] a__U51(z0, z1) -> U51(z0, z1) [0] a__U52(tt) -> tt [0] a__U52(z0) -> U52(z0) [0] a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) [0] a__U61(z0, z1, z2) -> U61(z0, z1, z2) [0] a__U62(tt, z0) -> s(a__length(mark(z0))) [0] a__U62(z0, z1) -> U62(z0, z1) [0] a__isNat(0) -> tt [0] a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) [0] a__isNat(s(z0)) -> a__U21(a__isNat(z0)) [0] a__isNat(z0) -> isNat(z0) [0] a__isNatIList(z0) -> a__U31(a__isNatList(z0)) [0] a__isNatIList(zeros) -> tt [0] a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) [0] a__isNatIList(z0) -> isNatIList(z0) [0] a__isNatList(nil) -> tt [0] a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) [0] a__isNatList(z0) -> isNatList(z0) [0] a__length(nil) -> 0 [0] a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) [0] a__length(z0) -> length(z0) [0] mark(zeros) -> a__zeros [0] mark(U11(z0)) -> a__U11(mark(z0)) [0] mark(U21(z0)) -> a__U21(mark(z0)) [0] mark(U31(z0)) -> a__U31(mark(z0)) [0] mark(U41(z0, z1)) -> a__U41(mark(z0), z1) [0] mark(U42(z0)) -> a__U42(mark(z0)) [0] mark(isNatIList(z0)) -> a__isNatIList(z0) [0] mark(U51(z0, z1)) -> a__U51(mark(z0), z1) [0] mark(U52(z0)) -> a__U52(mark(z0)) [0] mark(isNatList(z0)) -> a__isNatList(z0) [0] mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) [0] mark(U62(z0, z1)) -> a__U62(mark(z0), z1) [0] mark(isNat(z0)) -> a__isNat(z0) [0] mark(length(z0)) -> a__length(mark(z0)) [0] mark(cons(z0, z1)) -> cons(mark(z0), z1) [0] mark(0) -> 0 [0] mark(tt) -> tt [0] mark(s(z0)) -> s(mark(z0)) [0] mark(nil) -> nil [0] a__zeros -> null_a__zeros [0] a__U11(v0) -> null_a__U11 [0] a__U21(v0) -> null_a__U21 [0] a__U31(v0) -> null_a__U31 [0] a__U41(v0, v1) -> null_a__U41 [0] a__U42(v0) -> null_a__U42 [0] a__U51(v0, v1) -> null_a__U51 [0] a__U52(v0) -> null_a__U52 [0] a__U61(v0, v1, v2) -> null_a__U61 [0] a__U62(v0, v1) -> null_a__U62 [0] a__isNat(v0) -> null_a__isNat [0] a__isNatIList(v0) -> null_a__isNatIList [0] a__isNatList(v0) -> null_a__isNatList [0] a__length(v0) -> null_a__length [0] mark(v0) -> null_mark [0] A__U61(v0, v1, v2) -> null_A__U61 [0] A__U62(v0, v1) -> null_A__U62 [0] A__ISNATLIST(v0) -> null_A__ISNATLIST [0] A__LENGTH(v0) -> null_A__LENGTH [0] MARK(v0) -> null_MARK [0] A__U41(v0, v1) -> null_A__U41 [0] A__U51(v0, v1) -> null_A__U51 [0] A__ISNAT(v0) -> null_A__ISNAT [0] The TRS has the following type information: A__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c16:null_A__U61 tt :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c16 :: c18:null_A__U62 -> c21:c22:null_A__ISNAT -> c16:null_A__U61 A__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c18:null_A__U62 a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark A__ISNAT :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c21:c22:null_A__ISNAT c18 :: c32:null_A__LENGTH -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c18:null_A__U62 A__LENGTH :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c32:null_A__LENGTH mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark MARK :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK A__ISNATILIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c26:c24 cons :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c26 :: c8:null_A__U41 -> c21:c22:null_A__ISNAT -> c26:c24 A__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c8:null_A__U41 A__ISNATLIST :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c29:null_A__ISNATLIST c29 :: c12:null_A__U51 -> c21:c22:null_A__ISNAT -> c29:null_A__ISNATLIST A__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> c12:null_A__U51 c32 :: c16:null_A__U61 -> c29:null_A__ISNATLIST -> c32:null_A__LENGTH a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c38 :: c8:null_A__U41 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c40 :: c26:c24 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c41 :: c12:null_A__U51 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c43 :: c29:null_A__ISNATLIST -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c44 :: c16:null_A__U61 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c45 :: c18:null_A__U62 -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c46 :: c21:c22:null_A__ISNAT -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c47 :: c32:null_A__LENGTH -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK c48 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK s :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c51 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK c8 :: c26:c24 -> c8:null_A__U41 c12 :: c29:null_A__ISNATLIST -> c12:null_A__U51 c21 :: c29:null_A__ISNATLIST -> c21:c22:null_A__ISNAT c22 :: c21:c22:null_A__ISNAT -> c21:c22:null_A__ISNAT c24 :: c29:null_A__ISNATLIST -> c26:c24 U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c35 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c36 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c37 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c39 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark c42 :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK -> c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark 0 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark -> tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark nil :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__zeros :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U11 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U21 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U31 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U41 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U42 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U51 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U52 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U61 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__U62 :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNat :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNatIList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__isNatList :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_a__length :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_mark :: tt:cons:U41:isNatIList:U51:isNatList:U61:U62:isNat:length:s:U11:U21:U31:U42:U52:0:zeros:nil:null_a__zeros:null_a__U11:null_a__U21:null_a__U31:null_a__U41:null_a__U42:null_a__U51:null_a__U52:null_a__U61:null_a__U62:null_a__isNat:null_a__isNatIList:null_a__isNatList:null_a__length:null_mark null_A__U61 :: c16:null_A__U61 null_A__U62 :: c18:null_A__U62 null_A__ISNATLIST :: c29:null_A__ISNATLIST null_A__LENGTH :: c32:null_A__LENGTH null_MARK :: c38:c40:c41:c43:c44:c45:c46:c47:c48:c51:c35:c36:c37:c39:c42:null_MARK null_A__U41 :: c8:null_A__U41 null_A__U51 :: c12:null_A__U51 null_A__ISNAT :: c21:c22:null_A__ISNAT const :: c26:c24 Rewrite Strategy: INNERMOST ---------------------------------------- (61) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: tt => 2 0 => 0 zeros => 3 nil => 1 null_a__zeros => 0 null_a__U11 => 0 null_a__U21 => 0 null_a__U31 => 0 null_a__U41 => 0 null_a__U42 => 0 null_a__U51 => 0 null_a__U52 => 0 null_a__U61 => 0 null_a__U62 => 0 null_a__isNat => 0 null_a__isNatIList => 0 null_a__isNatList => 0 null_a__length => 0 null_mark => 0 null_A__U61 => 0 null_A__U62 => 0 null_A__ISNATLIST => 0 null_A__LENGTH => 0 null_MARK => 0 null_A__U41 => 0 null_A__U51 => 0 null_A__ISNAT => 0 const => 0 ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: A__ISNAT(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__ISNAT(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 1 + z0, z0 >= 0 A__ISNAT(z) -{ 1 }-> 1 + A__ISNAT(z0) :|: z = 1 + z0, z0 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = z0, z0 >= 0 A__ISNATILIST(z) -{ 1 }-> 1 + A__U41(a__isNat(z0), z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__ISNATLIST(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__ISNATLIST(z) -{ 1 }-> 1 + A__U51(a__isNat(z0), z1) + A__ISNAT(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__LENGTH(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 A__LENGTH(z) -{ 1 }-> 1 + A__U61(a__isNatList(z1), z1, z0) + A__ISNATLIST(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 A__U41(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U41(z, z') -{ 1 }-> 1 + A__ISNATILIST(z0) :|: z = 2, z0 >= 0, z' = z0 A__U51(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U51(z, z') -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 2, z0 >= 0, z' = z0 A__U61(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 A__U61(z, z', z'') -{ 1 }-> 1 + A__U62(a__isNat(z1), z0) + A__ISNAT(z1) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__U62(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__U62(z, z') -{ 1 }-> 1 + A__LENGTH(mark(z0)) + MARK(z0) :|: z = 2, z0 >= 0, z' = z0 MARK(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATLIST(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNATILIST(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__ISNAT(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__U62(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U61(mark(z0), z1, z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__U51(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__U41(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__LENGTH(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 a__U11(z) -{ 0 }-> 2 :|: z = 2 a__U11(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U11(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U21(z) -{ 0 }-> 2 :|: z = 2 a__U21(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U21(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U31(z) -{ 0 }-> 2 :|: z = 2 a__U31(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U31(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U41(z, z') -{ 0 }-> a__U42(a__isNatIList(z0)) :|: z = 2, z0 >= 0, z' = z0 a__U41(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U41(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U42(z) -{ 0 }-> 2 :|: z = 2 a__U42(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U42(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U51(z, z') -{ 0 }-> a__U52(a__isNatList(z0)) :|: z = 2, z0 >= 0, z' = z0 a__U51(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U51(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__U52(z) -{ 0 }-> 2 :|: z = 2 a__U52(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__U52(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__U61(z, z', z'') -{ 0 }-> a__U62(a__isNat(z1), z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__U61(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__U61(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 a__U62(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__U62(z, z') -{ 0 }-> 1 + a__length(mark(z0)) :|: z = 2, z0 >= 0, z' = z0 a__U62(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 a__isNat(z) -{ 0 }-> a__U21(a__isNat(z0)) :|: z = 1 + z0, z0 >= 0 a__isNat(z) -{ 0 }-> a__U11(a__isNatList(z0)) :|: z = 1 + z0, z0 >= 0 a__isNat(z) -{ 0 }-> 2 :|: z = 0 a__isNat(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNat(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> a__U41(a__isNat(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatIList(z) -{ 0 }-> a__U31(a__isNatList(z0)) :|: z = z0, z0 >= 0 a__isNatIList(z) -{ 0 }-> 2 :|: z = 3 a__isNatIList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatIList(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__isNatList(z) -{ 0 }-> a__U51(a__isNat(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__isNatList(z) -{ 0 }-> 2 :|: z = 1 a__isNatList(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__isNatList(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__length(z) -{ 0 }-> a__U61(a__isNatList(z1), z1, z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__length(z) -{ 0 }-> 0 :|: z = 1 a__length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__length(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__zeros -{ 0 }-> 3 :|: a__zeros -{ 0 }-> 0 :|: a__zeros -{ 0 }-> 1 + 0 + 3 :|: mark(z) -{ 0 }-> a__zeros :|: z = 3 mark(z) -{ 0 }-> a__length(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNatList(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNatIList(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__isNat(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U62(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U61(mark(z0), z1, z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__U52(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U51(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U42(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U41(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__U31(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U21(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> a__U11(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + mark(z0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 1 + mark(z0) + z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U61(tt, z0, z1) -> c16(A__U62(a__isNat(z1), z0), A__ISNAT(z1)) by A__U61(tt, x0, 0) -> c16(A__U62(tt, x0), A__ISNAT(0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, z0) -> c16(A__U62(isNat(z0), x0), A__ISNAT(z0)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0), A__ISNAT(0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, z0) -> c16(A__U62(isNat(z0), x0), A__ISNAT(z0)) S tuples: A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0), A__ISNAT(0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, z0) -> c16(A__U62(isNat(z0), x0), A__ISNAT(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__U62_2, A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__U61_3 Compound Symbols: c18_2, c26_2, c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2 ---------------------------------------- (65) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) S tuples: A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__U62_2, A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__U61_3 Compound Symbols: c18_2, c26_2, c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, z0) -> c18(A__LENGTH(mark(z0)), MARK(z0)) by A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros), MARK(zeros)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, 0) -> c18(A__LENGTH(0), MARK(0)) A__U62(tt, tt) -> c18(A__LENGTH(tt), MARK(tt)) A__U62(tt, s(z0)) -> c18(A__LENGTH(s(mark(z0))), MARK(s(z0))) A__U62(tt, nil) -> c18(A__LENGTH(nil), MARK(nil)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros), MARK(zeros)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, 0) -> c18(A__LENGTH(0), MARK(0)) A__U62(tt, tt) -> c18(A__LENGTH(tt), MARK(tt)) A__U62(tt, s(z0)) -> c18(A__LENGTH(s(mark(z0))), MARK(s(z0))) A__U62(tt, nil) -> c18(A__LENGTH(nil), MARK(nil)) S tuples: A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros), MARK(zeros)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, 0) -> c18(A__LENGTH(0), MARK(0)) A__U62(tt, tt) -> c18(A__LENGTH(tt), MARK(tt)) A__U62(tt, s(z0)) -> c18(A__LENGTH(s(mark(z0))), MARK(s(z0))) A__U62(tt, nil) -> c18(A__LENGTH(nil), MARK(nil)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__U61_3, A__U62_2 Compound Symbols: c26_2, c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2 ---------------------------------------- (69) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: A__U62(tt, nil) -> c18(A__LENGTH(nil), MARK(nil)) A__U62(tt, tt) -> c18(A__LENGTH(tt), MARK(tt)) A__U62(tt, 0) -> c18(A__LENGTH(0), MARK(0)) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros), MARK(zeros)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(A__LENGTH(s(mark(z0))), MARK(s(z0))) S tuples: A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros), MARK(zeros)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(A__LENGTH(s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__U61_3, A__U62_2 Compound Symbols: c26_2, c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2 ---------------------------------------- (71) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) S tuples: A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ISNATILIST_1, A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__U61_3, A__U62_2 Compound Symbols: c26_2, c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATILIST(cons(z0, z1)) -> c26(A__U41(a__isNat(z0), z1), A__ISNAT(z0)) by A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1), A__ISNAT(0)) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(z0, x1)) -> c26(A__U41(isNat(z0), x1), A__ISNAT(z0)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1), A__ISNAT(0)) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(z0, x1)) -> c26(A__U41(isNat(z0), x1), A__ISNAT(z0)) S tuples: A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1), A__ISNAT(0)) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(z0, x1)) -> c26(A__U41(isNat(z0), x1), A__ISNAT(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2 Compound Symbols: c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) S tuples: A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__ISNATLIST_1, A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2 Compound Symbols: c29_2, c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATLIST(cons(z0, z1)) -> c29(A__U51(a__isNat(z0), z1), A__ISNAT(z0)) by A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1), A__ISNAT(0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(z0, x1)) -> c29(A__U51(isNat(z0), x1), A__ISNAT(z0)) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1), A__ISNAT(0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(z0, x1)) -> c29(A__U51(isNat(z0), x1), A__ISNAT(z0)) S tuples: A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1), A__ISNAT(0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(z0, x1)) -> c29(A__U51(isNat(z0), x1), A__ISNAT(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1 Compound Symbols: c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) S tuples: A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: A__LENGTH_1, MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1 Compound Symbols: c32_2, c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__LENGTH(cons(z0, z1)) -> c32(A__U61(a__isNatList(z1), z1, z0), A__ISNATLIST(z1)) by A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0), A__ISNATLIST(nil)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, z0)) -> c32(A__U61(isNatList(z0), z0, x0), A__ISNATLIST(z0)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0), A__ISNATLIST(nil)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, z0)) -> c32(A__U61(isNatList(z0), z0, x0), A__ISNATLIST(z0)) S tuples: MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0), A__ISNATLIST(nil)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, z0)) -> c32(A__U61(isNatList(z0), z0, x0), A__ISNATLIST(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2 ---------------------------------------- (83) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) S tuples: MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c38_2, c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(z0, z1)) -> c38(A__U41(mark(z0), z1), MARK(z0)) by MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1), MARK(zeros)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(cons(z0, z1), x1)) -> c38(A__U41(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U41(0, x1)) -> c38(A__U41(0, x1), MARK(0)) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1), MARK(tt)) MARK(U41(s(z0), x1)) -> c38(A__U41(s(mark(z0)), x1), MARK(s(z0))) MARK(U41(nil, x1)) -> c38(A__U41(nil, x1), MARK(nil)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1), MARK(zeros)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(cons(z0, z1), x1)) -> c38(A__U41(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U41(0, x1)) -> c38(A__U41(0, x1), MARK(0)) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1), MARK(tt)) MARK(U41(s(z0), x1)) -> c38(A__U41(s(mark(z0)), x1), MARK(s(z0))) MARK(U41(nil, x1)) -> c38(A__U41(nil, x1), MARK(nil)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1), MARK(zeros)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(cons(z0, z1), x1)) -> c38(A__U41(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U41(0, x1)) -> c38(A__U41(0, x1), MARK(0)) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1), MARK(tt)) MARK(U41(s(z0), x1)) -> c38(A__U41(s(mark(z0)), x1), MARK(s(z0))) MARK(U41(nil, x1)) -> c38(A__U41(nil, x1), MARK(nil)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2 ---------------------------------------- (87) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U41(nil, x1)) -> c38(A__U41(nil, x1), MARK(nil)) MARK(U41(0, x1)) -> c38(A__U41(0, x1), MARK(0)) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1), MARK(zeros)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(cons(z0, z1), x1)) -> c38(A__U41(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1), MARK(tt)) MARK(U41(s(z0), x1)) -> c38(A__U41(s(mark(z0)), x1), MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1), MARK(zeros)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(cons(z0, z1), x1)) -> c38(A__U41(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1), MARK(tt)) MARK(U41(s(z0), x1)) -> c38(A__U41(s(mark(z0)), x1), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2 ---------------------------------------- (89) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(isNatIList(z0), x1)) -> c38(A__U41(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(isNatList(z0), x1)) -> c38(A__U41(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(isNat(z0), x1)) -> c38(A__U41(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1 ---------------------------------------- (91) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c41_2, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1 ---------------------------------------- (93) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U51(z0, z1)) -> c41(A__U51(mark(z0), z1), MARK(z0)) by MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1), MARK(zeros)) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(cons(z0, z1), x1)) -> c41(A__U51(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U51(0, x1)) -> c41(A__U51(0, x1), MARK(0)) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1), MARK(tt)) MARK(U51(s(z0), x1)) -> c41(A__U51(s(mark(z0)), x1), MARK(s(z0))) MARK(U51(nil, x1)) -> c41(A__U51(nil, x1), MARK(nil)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1), MARK(zeros)) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(cons(z0, z1), x1)) -> c41(A__U51(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U51(0, x1)) -> c41(A__U51(0, x1), MARK(0)) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1), MARK(tt)) MARK(U51(s(z0), x1)) -> c41(A__U51(s(mark(z0)), x1), MARK(s(z0))) MARK(U51(nil, x1)) -> c41(A__U51(nil, x1), MARK(nil)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1), MARK(zeros)) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(cons(z0, z1), x1)) -> c41(A__U51(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U51(0, x1)) -> c41(A__U51(0, x1), MARK(0)) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1), MARK(tt)) MARK(U51(s(z0), x1)) -> c41(A__U51(s(mark(z0)), x1), MARK(s(z0))) MARK(U51(nil, x1)) -> c41(A__U51(nil, x1), MARK(nil)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2 ---------------------------------------- (95) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U51(0, x1)) -> c41(A__U51(0, x1), MARK(0)) MARK(U51(nil, x1)) -> c41(A__U51(nil, x1), MARK(nil)) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1), MARK(zeros)) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(cons(z0, z1), x1)) -> c41(A__U51(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1), MARK(tt)) MARK(U51(s(z0), x1)) -> c41(A__U51(s(mark(z0)), x1), MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1), MARK(zeros)) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(cons(z0, z1), x1)) -> c41(A__U51(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1), MARK(tt)) MARK(U51(s(z0), x1)) -> c41(A__U51(s(mark(z0)), x1), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(isNatIList(z0), x1)) -> c41(A__U51(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(isNatList(z0), x1)) -> c41(A__U51(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(isNat(z0), x1)) -> c41(A__U51(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1 ---------------------------------------- (99) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c44_2, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U61(z0, z1, z2)) -> c44(A__U61(mark(z0), z1, z2), MARK(z0)) by MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2), MARK(zeros)) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(cons(z0, z1), x1, x2)) -> c44(A__U61(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U61(0, x1, x2)) -> c44(A__U61(0, x1, x2), MARK(0)) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2), MARK(tt)) MARK(U61(s(z0), x1, x2)) -> c44(A__U61(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U61(nil, x1, x2)) -> c44(A__U61(nil, x1, x2), MARK(nil)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2), MARK(zeros)) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(cons(z0, z1), x1, x2)) -> c44(A__U61(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U61(0, x1, x2)) -> c44(A__U61(0, x1, x2), MARK(0)) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2), MARK(tt)) MARK(U61(s(z0), x1, x2)) -> c44(A__U61(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U61(nil, x1, x2)) -> c44(A__U61(nil, x1, x2), MARK(nil)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2), MARK(zeros)) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(cons(z0, z1), x1, x2)) -> c44(A__U61(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U61(0, x1, x2)) -> c44(A__U61(0, x1, x2), MARK(0)) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2), MARK(tt)) MARK(U61(s(z0), x1, x2)) -> c44(A__U61(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U61(nil, x1, x2)) -> c44(A__U61(nil, x1, x2), MARK(nil)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2 ---------------------------------------- (103) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U61(0, x1, x2)) -> c44(A__U61(0, x1, x2), MARK(0)) MARK(U61(nil, x1, x2)) -> c44(A__U61(nil, x1, x2), MARK(nil)) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2), MARK(zeros)) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(cons(z0, z1), x1, x2)) -> c44(A__U61(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2), MARK(tt)) MARK(U61(s(z0), x1, x2)) -> c44(A__U61(s(mark(z0)), x1, x2), MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2), MARK(zeros)) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(cons(z0, z1), x1, x2)) -> c44(A__U61(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2), MARK(tt)) MARK(U61(s(z0), x1, x2)) -> c44(A__U61(s(mark(z0)), x1, x2), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2 ---------------------------------------- (105) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c45_2, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U62(z0, z1)) -> c45(A__U62(mark(z0), z1), MARK(z0)) by MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1), MARK(zeros)) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(cons(z0, z1), x1)) -> c45(A__U62(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U62(0, x1)) -> c45(A__U62(0, x1), MARK(0)) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1), MARK(tt)) MARK(U62(s(z0), x1)) -> c45(A__U62(s(mark(z0)), x1), MARK(s(z0))) MARK(U62(nil, x1)) -> c45(A__U62(nil, x1), MARK(nil)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1), MARK(zeros)) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(cons(z0, z1), x1)) -> c45(A__U62(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U62(0, x1)) -> c45(A__U62(0, x1), MARK(0)) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1), MARK(tt)) MARK(U62(s(z0), x1)) -> c45(A__U62(s(mark(z0)), x1), MARK(s(z0))) MARK(U62(nil, x1)) -> c45(A__U62(nil, x1), MARK(nil)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1), MARK(zeros)) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(cons(z0, z1), x1)) -> c45(A__U62(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U62(0, x1)) -> c45(A__U62(0, x1), MARK(0)) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1), MARK(tt)) MARK(U62(s(z0), x1)) -> c45(A__U62(s(mark(z0)), x1), MARK(s(z0))) MARK(U62(nil, x1)) -> c45(A__U62(nil, x1), MARK(nil)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2 ---------------------------------------- (109) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U62(0, x1)) -> c45(A__U62(0, x1), MARK(0)) MARK(U62(nil, x1)) -> c45(A__U62(nil, x1), MARK(nil)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1), MARK(zeros)) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(cons(z0, z1), x1)) -> c45(A__U62(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1), MARK(tt)) MARK(U62(s(z0), x1)) -> c45(A__U62(s(mark(z0)), x1), MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1), MARK(zeros)) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(cons(z0, z1), x1)) -> c45(A__U62(cons(mark(z0), z1), x1), MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1), MARK(tt)) MARK(U62(s(z0), x1)) -> c45(A__U62(s(mark(z0)), x1), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2 ---------------------------------------- (111) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c47_2, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(length(z0)) -> c47(A__LENGTH(mark(z0)), MARK(z0)) by MARK(length(zeros)) -> c47(A__LENGTH(a__zeros), MARK(zeros)) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(0)) -> c47(A__LENGTH(0), MARK(0)) MARK(length(tt)) -> c47(A__LENGTH(tt), MARK(tt)) MARK(length(s(z0))) -> c47(A__LENGTH(s(mark(z0))), MARK(s(z0))) MARK(length(nil)) -> c47(A__LENGTH(nil), MARK(nil)) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros), MARK(zeros)) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(0)) -> c47(A__LENGTH(0), MARK(0)) MARK(length(tt)) -> c47(A__LENGTH(tt), MARK(tt)) MARK(length(s(z0))) -> c47(A__LENGTH(s(mark(z0))), MARK(s(z0))) MARK(length(nil)) -> c47(A__LENGTH(nil), MARK(nil)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros), MARK(zeros)) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(0)) -> c47(A__LENGTH(0), MARK(0)) MARK(length(tt)) -> c47(A__LENGTH(tt), MARK(tt)) MARK(length(s(z0))) -> c47(A__LENGTH(s(mark(z0))), MARK(s(z0))) MARK(length(nil)) -> c47(A__LENGTH(nil), MARK(nil)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: MARK(length(tt)) -> c47(A__LENGTH(tt), MARK(tt)) MARK(length(nil)) -> c47(A__LENGTH(nil), MARK(nil)) MARK(length(0)) -> c47(A__LENGTH(0), MARK(0)) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros), MARK(zeros)) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(s(z0))) -> c47(A__LENGTH(s(mark(z0))), MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros), MARK(zeros)) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(s(z0))) -> c47(A__LENGTH(s(mark(z0))), MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2 ---------------------------------------- (117) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(a__isNatList(z0)), x0), A__ISNAT(length(z0))) by A__U61(tt, x0, length(x1)) -> c16(A__U62(U11(a__isNatList(x1)), x0), A__ISNAT(length(x1))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(x1)) -> c16(A__U62(U11(a__isNatList(x1)), x0), A__ISNAT(length(x1))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(x1)) -> c16(A__U62(U11(a__isNatList(x1)), x0), A__ISNAT(length(x1))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1 ---------------------------------------- (121) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_2, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(a__isNat(z0)), x0), A__ISNAT(s(z0))) by A__U61(tt, x0, s(x1)) -> c16(A__U62(U21(a__isNat(x1)), x0), A__ISNAT(s(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(x1)) -> c16(A__U62(U21(a__isNat(x1)), x0), A__ISNAT(s(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(x1)) -> c16(A__U62(U21(a__isNat(x1)), x0), A__ISNAT(s(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U11(z0)) -> c18(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) by A__U62(tt, U11(x0)) -> c18(A__LENGTH(U11(mark(x0))), MARK(U11(x0))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(x0)) -> c18(A__LENGTH(U11(mark(x0))), MARK(U11(x0))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(x0)) -> c18(A__LENGTH(U11(mark(x0))), MARK(U11(x0))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (129) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U21(z0)) -> c18(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) by A__U62(tt, U21(x0)) -> c18(A__LENGTH(U21(mark(x0))), MARK(U21(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(x0)) -> c18(A__LENGTH(U21(mark(x0))), MARK(U21(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(x0)) -> c18(A__LENGTH(U21(mark(x0))), MARK(U21(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (133) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U31(z0)) -> c18(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) by A__U62(tt, U31(x0)) -> c18(A__LENGTH(U31(mark(x0))), MARK(U31(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(x0)) -> c18(A__LENGTH(U31(mark(x0))), MARK(U31(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(x0)) -> c18(A__LENGTH(U31(mark(x0))), MARK(U31(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (137) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U41(z0, z1)) -> c18(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) by A__U62(tt, U41(x0, z1)) -> c18(A__LENGTH(U41(mark(x0), z1)), MARK(U41(x0, z1))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1)), MARK(U41(0, x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1)), MARK(U41(nil, x1))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(x0, z1)) -> c18(A__LENGTH(U41(mark(x0), z1)), MARK(U41(x0, z1))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1)), MARK(U41(0, x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1)), MARK(U41(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(x0, z1)) -> c18(A__LENGTH(U41(mark(x0), z1)), MARK(U41(x0, z1))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1)), MARK(U41(0, x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1)), MARK(U41(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (141) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U42(z0)) -> c18(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) by A__U62(tt, U42(x0)) -> c18(A__LENGTH(U42(mark(x0))), MARK(U42(x0))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(x0)) -> c18(A__LENGTH(U42(mark(x0))), MARK(U42(x0))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(x0)) -> c18(A__LENGTH(U42(mark(x0))), MARK(U42(x0))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (145) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) by A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(zeros)) -> c18(A__LENGTH(tt), MARK(isNatIList(zeros))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(isNatIList(z0)), MARK(isNatIList(z0))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(zeros)) -> c18(A__LENGTH(tt), MARK(isNatIList(zeros))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(isNatIList(z0)), MARK(isNatIList(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(zeros)) -> c18(A__LENGTH(tt), MARK(isNatIList(zeros))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(isNatIList(z0)), MARK(isNatIList(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (149) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U51(z0, z1)) -> c18(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) by A__U62(tt, U51(x0, z1)) -> c18(A__LENGTH(U51(mark(x0), z1)), MARK(U51(x0, z1))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1)), MARK(U51(0, x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1)), MARK(U51(nil, x1))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(x0, z1)) -> c18(A__LENGTH(U51(mark(x0), z1)), MARK(U51(x0, z1))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1)), MARK(U51(0, x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1)), MARK(U51(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(x0, z1)) -> c18(A__LENGTH(U51(mark(x0), z1)), MARK(U51(x0, z1))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1)), MARK(U51(0, x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1)), MARK(U51(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (153) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U52(z0)) -> c18(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) by A__U62(tt, U52(x0)) -> c18(A__LENGTH(U52(mark(x0))), MARK(U52(x0))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(x0)) -> c18(A__LENGTH(U52(mark(x0))), MARK(U52(x0))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(x0)) -> c18(A__LENGTH(U52(mark(x0))), MARK(U52(x0))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (157) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (159) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) by A__U62(tt, isNatList(nil)) -> c18(A__LENGTH(tt), MARK(isNatList(nil))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(isNatList(z0)), MARK(isNatList(z0))) ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(nil)) -> c18(A__LENGTH(tt), MARK(isNatList(nil))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(isNatList(z0)), MARK(isNatList(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(nil)) -> c18(A__LENGTH(tt), MARK(isNatList(nil))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(z0)) -> c18(A__LENGTH(isNatList(z0)), MARK(isNatList(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (161) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (163) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U61(z0, z1, z2)) -> c18(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) by A__U62(tt, U61(x0, z1, z2)) -> c18(A__LENGTH(U61(mark(x0), z1, z2)), MARK(U61(x0, z1, z2))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2)), MARK(U61(0, x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2)), MARK(U61(nil, x1, x2))) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(x0, z1, z2)) -> c18(A__LENGTH(U61(mark(x0), z1, z2)), MARK(U61(x0, z1, z2))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2)), MARK(U61(0, x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2)), MARK(U61(nil, x1, x2))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(x0, z1, z2)) -> c18(A__LENGTH(U61(mark(x0), z1, z2)), MARK(U61(x0, z1, z2))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2)), MARK(U61(0, x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2)), MARK(U61(nil, x1, x2))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (165) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (167) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, U62(z0, z1)) -> c18(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) by A__U62(tt, U62(x0, z1)) -> c18(A__LENGTH(U62(mark(x0), z1)), MARK(U62(x0, z1))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1)), MARK(U62(0, x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1)), MARK(U62(nil, x1))) ---------------------------------------- (168) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(x0, z1)) -> c18(A__LENGTH(U62(mark(x0), z1)), MARK(U62(x0, z1))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1)), MARK(U62(0, x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1)), MARK(U62(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(x0, z1)) -> c18(A__LENGTH(U62(mark(x0), z1)), MARK(U62(x0, z1))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1)), MARK(U62(0, x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1)), MARK(U62(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (169) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (170) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (171) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, isNat(z0)) -> c18(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) by A__U62(tt, isNat(0)) -> c18(A__LENGTH(tt), MARK(isNat(0))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(isNat(z0)), MARK(isNat(z0))) ---------------------------------------- (172) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(0)) -> c18(A__LENGTH(tt), MARK(isNat(0))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(isNat(z0)), MARK(isNat(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(0)) -> c18(A__LENGTH(tt), MARK(isNat(0))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(z0)) -> c18(A__LENGTH(isNat(z0)), MARK(isNat(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (173) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (174) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (175) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, length(z0)) -> c18(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) by A__U62(tt, length(x0)) -> c18(A__LENGTH(length(mark(x0))), MARK(length(x0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0)), MARK(length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt)), MARK(length(tt))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil)), MARK(length(nil))) ---------------------------------------- (176) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(x0)) -> c18(A__LENGTH(length(mark(x0))), MARK(length(x0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0)), MARK(length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt)), MARK(length(tt))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil)), MARK(length(nil))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(x0)) -> c18(A__LENGTH(length(mark(x0))), MARK(length(x0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0)), MARK(length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt)), MARK(length(tt))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil)), MARK(length(nil))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (177) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (178) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (179) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U62(tt, zeros) -> c18(A__LENGTH(a__zeros)) by A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__U62(tt, zeros) -> c18(A__LENGTH(zeros)) ---------------------------------------- (180) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__U62(tt, zeros) -> c18(A__LENGTH(zeros)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__U62(tt, zeros) -> c18(A__LENGTH(zeros)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (181) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__U62(tt, zeros) -> c18(A__LENGTH(zeros)) ---------------------------------------- (182) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (183) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) by A__ISNATILIST(cons(length(x0), x1)) -> c26(A__U41(U11(a__isNatList(x0)), x1), A__ISNAT(length(x0))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) ---------------------------------------- (184) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__U41(U11(a__isNatList(x0)), x1), A__ISNAT(length(x0))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__U41(U11(a__isNatList(x0)), x1), A__ISNAT(length(x0))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (185) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (186) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_2, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2 ---------------------------------------- (187) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) by A__ISNATILIST(cons(s(x0), x1)) -> c26(A__U41(U21(a__isNat(x0)), x1), A__ISNAT(s(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) ---------------------------------------- (188) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__U41(U21(a__isNat(x0)), x1), A__ISNAT(s(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__U41(U21(a__isNat(x0)), x1), A__ISNAT(s(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2 ---------------------------------------- (189) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (190) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2 ---------------------------------------- (191) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(a__isNatList(z0)), x1), A__ISNAT(length(z0))) by A__ISNATLIST(cons(length(x0), x1)) -> c29(A__U51(U11(a__isNatList(x0)), x1), A__ISNAT(length(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) ---------------------------------------- (192) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__U51(U11(a__isNatList(x0)), x1), A__ISNAT(length(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__U51(U11(a__isNatList(x0)), x1), A__ISNAT(length(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2 ---------------------------------------- (193) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (194) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_2, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2 ---------------------------------------- (195) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(a__isNat(z0)), x1), A__ISNAT(s(z0))) by A__ISNATLIST(cons(s(x0), x1)) -> c29(A__U51(U21(a__isNat(x0)), x1), A__ISNAT(s(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) ---------------------------------------- (196) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__U51(U21(a__isNat(x0)), x1), A__ISNAT(s(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__U51(U21(a__isNat(x0)), x1), A__ISNAT(s(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2 ---------------------------------------- (197) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (198) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_2, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2 ---------------------------------------- (199) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__LENGTH(cons(x0, cons(z0, z1))) -> c32(A__U61(a__U51(a__isNat(z0), z1), cons(z0, z1), x0), A__ISNATLIST(cons(z0, z1))) by A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__U61(U51(a__isNat(x1), z1), cons(x1, z1), x0), A__ISNATLIST(cons(x1, z1))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) ---------------------------------------- (200) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__U61(U51(a__isNat(x1), z1), cons(x1, z1), x0), A__ISNATLIST(cons(x1, z1))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__U61(U51(a__isNat(x1), z1), cons(x1, z1), x0), A__ISNATLIST(cons(x1, z1))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (201) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (202) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (203) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U11(z0), x1)) -> c38(A__U41(a__U11(mark(z0)), x1), MARK(U11(z0))) by MARK(U41(U11(x0), x1)) -> c38(A__U41(U11(mark(x0)), x1), MARK(U11(x0))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) ---------------------------------------- (204) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(x0), x1)) -> c38(A__U41(U11(mark(x0)), x1), MARK(U11(x0))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(x0), x1)) -> c38(A__U41(U11(mark(x0)), x1), MARK(U11(x0))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (205) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (206) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (207) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U21(z0), x1)) -> c38(A__U41(a__U21(mark(z0)), x1), MARK(U21(z0))) by MARK(U41(U21(x0), x1)) -> c38(A__U41(U21(mark(x0)), x1), MARK(U21(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) ---------------------------------------- (208) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(x0), x1)) -> c38(A__U41(U21(mark(x0)), x1), MARK(U21(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(x0), x1)) -> c38(A__U41(U21(mark(x0)), x1), MARK(U21(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (209) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (210) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (211) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U31(z0), x1)) -> c38(A__U41(a__U31(mark(z0)), x1), MARK(U31(z0))) by MARK(U41(U31(x0), x1)) -> c38(A__U41(U31(mark(x0)), x1), MARK(U31(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) ---------------------------------------- (212) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(x0), x1)) -> c38(A__U41(U31(mark(x0)), x1), MARK(U31(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(x0), x1)) -> c38(A__U41(U31(mark(x0)), x1), MARK(U31(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (213) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (214) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (215) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U41(z0, z1), x1)) -> c38(A__U41(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) by MARK(U41(U41(x0, z1), x2)) -> c38(A__U41(U41(mark(x0), z1), x2), MARK(U41(x0, z1))) MARK(U41(U41(zeros, x1), x2)) -> c38(A__U41(a__U41(a__zeros, x1), x2), MARK(U41(zeros, x1))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatIList(z0), x1), x2), MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatList(z0), x1), x2), MARK(U41(isNatList(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNat(z0), x1), x2), MARK(U41(isNat(z0), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2), MARK(U41(0, x1))) MARK(U41(U41(tt, x1), x2)) -> c38(A__U41(a__U41(tt, x1), x2), MARK(U41(tt, x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2), MARK(U41(nil, x1))) ---------------------------------------- (216) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(x0, z1), x2)) -> c38(A__U41(U41(mark(x0), z1), x2), MARK(U41(x0, z1))) MARK(U41(U41(zeros, x1), x2)) -> c38(A__U41(a__U41(a__zeros, x1), x2), MARK(U41(zeros, x1))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatIList(z0), x1), x2), MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatList(z0), x1), x2), MARK(U41(isNatList(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNat(z0), x1), x2), MARK(U41(isNat(z0), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2), MARK(U41(0, x1))) MARK(U41(U41(tt, x1), x2)) -> c38(A__U41(a__U41(tt, x1), x2), MARK(U41(tt, x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2), MARK(U41(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(x0, z1), x2)) -> c38(A__U41(U41(mark(x0), z1), x2), MARK(U41(x0, z1))) MARK(U41(U41(zeros, x1), x2)) -> c38(A__U41(a__U41(a__zeros, x1), x2), MARK(U41(zeros, x1))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatIList(z0), x1), x2), MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatList(z0), x1), x2), MARK(U41(isNatList(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNat(z0), x1), x2), MARK(U41(isNat(z0), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2), MARK(U41(0, x1))) MARK(U41(U41(tt, x1), x2)) -> c38(A__U41(a__U41(tt, x1), x2), MARK(U41(tt, x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2), MARK(U41(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (217) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (218) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(zeros, x1), x2)) -> c38(A__U41(a__U41(a__zeros, x1), x2), MARK(U41(zeros, x1))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatIList(z0), x1), x2), MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatList(z0), x1), x2), MARK(U41(isNatList(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNat(z0), x1), x2), MARK(U41(isNat(z0), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(tt, x1), x2)) -> c38(A__U41(a__U41(tt, x1), x2), MARK(U41(tt, x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(zeros, x1), x2)) -> c38(A__U41(a__U41(a__zeros, x1), x2), MARK(U41(zeros, x1))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatIList(z0), x1), x2), MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNatList(z0), x1), x2), MARK(U41(isNatList(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c38(A__U41(a__U41(a__isNat(z0), x1), x2), MARK(U41(isNat(z0), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(tt, x1), x2)) -> c38(A__U41(a__U41(tt, x1), x2), MARK(U41(tt, x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2 ---------------------------------------- (219) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (220) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1 ---------------------------------------- (221) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U42(z0), x1)) -> c38(A__U41(a__U42(mark(z0)), x1), MARK(U42(z0))) by MARK(U41(U42(x0), x1)) -> c38(A__U41(U42(mark(x0)), x1), MARK(U42(x0))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) ---------------------------------------- (222) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(x0), x1)) -> c38(A__U41(U42(mark(x0)), x1), MARK(U42(x0))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(x0), x1)) -> c38(A__U41(U42(mark(x0)), x1), MARK(U42(x0))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1 ---------------------------------------- (223) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (224) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1 ---------------------------------------- (225) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U51(z0, z1), x1)) -> c38(A__U41(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) by MARK(U41(U51(x0, z1), x2)) -> c38(A__U41(U51(mark(x0), z1), x2), MARK(U51(x0, z1))) MARK(U41(U51(zeros, x1), x2)) -> c38(A__U41(a__U51(a__zeros, x1), x2), MARK(U51(zeros, x1))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatIList(z0), x1), x2), MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatList(z0), x1), x2), MARK(U51(isNatList(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNat(z0), x1), x2), MARK(U51(isNat(z0), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2), MARK(U51(0, x1))) MARK(U41(U51(tt, x1), x2)) -> c38(A__U41(a__U51(tt, x1), x2), MARK(U51(tt, x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2), MARK(U51(nil, x1))) ---------------------------------------- (226) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(x0, z1), x2)) -> c38(A__U41(U51(mark(x0), z1), x2), MARK(U51(x0, z1))) MARK(U41(U51(zeros, x1), x2)) -> c38(A__U41(a__U51(a__zeros, x1), x2), MARK(U51(zeros, x1))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatIList(z0), x1), x2), MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatList(z0), x1), x2), MARK(U51(isNatList(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNat(z0), x1), x2), MARK(U51(isNat(z0), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2), MARK(U51(0, x1))) MARK(U41(U51(tt, x1), x2)) -> c38(A__U41(a__U51(tt, x1), x2), MARK(U51(tt, x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2), MARK(U51(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(x0, z1), x2)) -> c38(A__U41(U51(mark(x0), z1), x2), MARK(U51(x0, z1))) MARK(U41(U51(zeros, x1), x2)) -> c38(A__U41(a__U51(a__zeros, x1), x2), MARK(U51(zeros, x1))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatIList(z0), x1), x2), MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatList(z0), x1), x2), MARK(U51(isNatList(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNat(z0), x1), x2), MARK(U51(isNat(z0), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2), MARK(U51(0, x1))) MARK(U41(U51(tt, x1), x2)) -> c38(A__U41(a__U51(tt, x1), x2), MARK(U51(tt, x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2), MARK(U51(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1 ---------------------------------------- (227) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (228) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(zeros, x1), x2)) -> c38(A__U41(a__U51(a__zeros, x1), x2), MARK(U51(zeros, x1))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatIList(z0), x1), x2), MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatList(z0), x1), x2), MARK(U51(isNatList(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNat(z0), x1), x2), MARK(U51(isNat(z0), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(tt, x1), x2)) -> c38(A__U41(a__U51(tt, x1), x2), MARK(U51(tt, x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(zeros, x1), x2)) -> c38(A__U41(a__U51(a__zeros, x1), x2), MARK(U51(zeros, x1))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatIList(z0), x1), x2), MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNatList(z0), x1), x2), MARK(U51(isNatList(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c38(A__U41(a__U51(a__isNat(z0), x1), x2), MARK(U51(isNat(z0), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(tt, x1), x2)) -> c38(A__U41(a__U51(tt, x1), x2), MARK(U51(tt, x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1 ---------------------------------------- (229) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (230) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (231) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U52(z0), x1)) -> c38(A__U41(a__U52(mark(z0)), x1), MARK(U52(z0))) by MARK(U41(U52(x0), x1)) -> c38(A__U41(U52(mark(x0)), x1), MARK(U52(x0))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) ---------------------------------------- (232) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(x0), x1)) -> c38(A__U41(U52(mark(x0)), x1), MARK(U52(x0))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(x0), x1)) -> c38(A__U41(U52(mark(x0)), x1), MARK(U52(x0))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (233) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (234) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (235) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U61(z0, z1, z2), x1)) -> c38(A__U41(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) by MARK(U41(U61(x0, z1, z2), x3)) -> c38(A__U41(U61(mark(x0), z1, z2), x3), MARK(U61(x0, z1, z2))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3), MARK(U61(0, x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3), MARK(U61(nil, x1, x2))) ---------------------------------------- (236) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(A__U41(U61(mark(x0), z1, z2), x3), MARK(U61(x0, z1, z2))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3), MARK(U61(0, x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3), MARK(U61(nil, x1, x2))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(A__U41(U61(mark(x0), z1, z2), x3), MARK(U61(x0, z1, z2))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3), MARK(U61(0, x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3), MARK(U61(nil, x1, x2))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (237) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (238) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (239) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(U62(z0, z1), x1)) -> c38(A__U41(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) by MARK(U41(U62(x0, z1), x2)) -> c38(A__U41(U62(mark(x0), z1), x2), MARK(U62(x0, z1))) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2), MARK(U62(0, x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2), MARK(U62(nil, x1))) ---------------------------------------- (240) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(x0, z1), x2)) -> c38(A__U41(U62(mark(x0), z1), x2), MARK(U62(x0, z1))) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2), MARK(U62(0, x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2), MARK(U62(nil, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(x0, z1), x2)) -> c38(A__U41(U62(mark(x0), z1), x2), MARK(U62(x0, z1))) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2), MARK(U62(0, x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2), MARK(U62(nil, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (241) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (242) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_2, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c2_1, c3_1 ---------------------------------------- (243) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(length(z0), x1)) -> c38(A__U41(a__length(mark(z0)), x1), MARK(length(z0))) by MARK(U41(length(x0), x1)) -> c38(A__U41(length(mark(x0)), x1), MARK(length(x0))) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1), MARK(length(0))) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1), MARK(length(tt))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1), MARK(length(nil))) ---------------------------------------- (244) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(x0), x1)) -> c38(A__U41(length(mark(x0)), x1), MARK(length(x0))) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1), MARK(length(0))) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1), MARK(length(tt))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1), MARK(length(nil))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(x0), x1)) -> c38(A__U41(length(mark(x0)), x1), MARK(length(x0))) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1), MARK(length(0))) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1), MARK(length(tt))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1), MARK(length(nil))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c38_2, c2_1, c3_1 ---------------------------------------- (245) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (246) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c38_2, c2_1, c3_1 ---------------------------------------- (247) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U41(zeros, x1)) -> c38(A__U41(a__zeros, x1)) by MARK(U41(zeros, x0)) -> c38(A__U41(cons(0, zeros), x0)) MARK(U41(zeros, x0)) -> c38(A__U41(zeros, x0)) ---------------------------------------- (248) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) MARK(U41(zeros, x0)) -> c38(A__U41(cons(0, zeros), x0)) MARK(U41(zeros, x0)) -> c38(A__U41(zeros, x0)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) MARK(U41(zeros, x0)) -> c38(A__U41(cons(0, zeros), x0)) MARK(U41(zeros, x0)) -> c38(A__U41(zeros, x0)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c38_2, c2_1, c3_1 ---------------------------------------- (249) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: MARK(U41(zeros, x0)) -> c38(A__U41(zeros, x0)) MARK(U41(zeros, x0)) -> c38(A__U41(cons(0, zeros), x0)) MARK(U41(U41(zeros, x1), x2)) -> c2(MARK(U41(zeros, x1))) ---------------------------------------- (250) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1)), MARK(U41(zeros, x1))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c38_2, c2_1, c3_1 ---------------------------------------- (251) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (252) Obligation: Complexity Dependency Tuples Problem Rules: a__zeros -> cons(0, zeros) a__zeros -> zeros a__U11(tt) -> tt a__U11(z0) -> U11(z0) a__U21(tt) -> tt a__U21(z0) -> U21(z0) a__U31(tt) -> tt a__U31(z0) -> U31(z0) a__U41(tt, z0) -> a__U42(a__isNatIList(z0)) a__U41(z0, z1) -> U41(z0, z1) a__U42(tt) -> tt a__U42(z0) -> U42(z0) a__U51(tt, z0) -> a__U52(a__isNatList(z0)) a__U51(z0, z1) -> U51(z0, z1) a__U52(tt) -> tt a__U52(z0) -> U52(z0) a__U61(tt, z0, z1) -> a__U62(a__isNat(z1), z0) a__U61(z0, z1, z2) -> U61(z0, z1, z2) a__U62(tt, z0) -> s(a__length(mark(z0))) a__U62(z0, z1) -> U62(z0, z1) a__isNat(0) -> tt a__isNat(length(z0)) -> a__U11(a__isNatList(z0)) a__isNat(s(z0)) -> a__U21(a__isNat(z0)) a__isNat(z0) -> isNat(z0) a__isNatIList(z0) -> a__U31(a__isNatList(z0)) a__isNatIList(zeros) -> tt a__isNatIList(cons(z0, z1)) -> a__U41(a__isNat(z0), z1) a__isNatIList(z0) -> isNatIList(z0) a__isNatList(nil) -> tt a__isNatList(cons(z0, z1)) -> a__U51(a__isNat(z0), z1) a__isNatList(z0) -> isNatList(z0) a__length(nil) -> 0 a__length(cons(z0, z1)) -> a__U61(a__isNatList(z1), z1, z0) a__length(z0) -> length(z0) mark(zeros) -> a__zeros mark(U11(z0)) -> a__U11(mark(z0)) mark(U21(z0)) -> a__U21(mark(z0)) mark(U31(z0)) -> a__U31(mark(z0)) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(U42(z0)) -> a__U42(mark(z0)) mark(isNatIList(z0)) -> a__isNatIList(z0) mark(U51(z0, z1)) -> a__U51(mark(z0), z1) mark(U52(z0)) -> a__U52(mark(z0)) mark(isNatList(z0)) -> a__isNatList(z0) mark(U61(z0, z1, z2)) -> a__U61(mark(z0), z1, z2) mark(U62(z0, z1)) -> a__U62(mark(z0), z1) mark(isNat(z0)) -> a__isNat(z0) mark(length(z0)) -> a__length(mark(z0)) mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(0) -> 0 mark(tt) -> tt mark(s(z0)) -> s(mark(z0)) mark(nil) -> nil Tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1))) S tuples: MARK(isNatIList(z0)) -> c40(A__ISNATILIST(z0)) MARK(isNatList(z0)) -> c43(A__ISNATLIST(z0)) MARK(isNat(z0)) -> c46(A__ISNAT(z0)) MARK(cons(z0, z1)) -> c48(MARK(z0)) MARK(s(z0)) -> c51(MARK(z0)) A__U41(tt, z0) -> c8(A__ISNATILIST(z0)) A__U51(tt, z0) -> c12(A__ISNATLIST(z0)) A__ISNAT(length(z0)) -> c21(A__ISNATLIST(z0)) A__ISNAT(s(z0)) -> c22(A__ISNAT(z0)) A__ISNATILIST(z0) -> c24(A__ISNATLIST(z0)) MARK(U11(z0)) -> c35(MARK(z0)) MARK(U21(z0)) -> c36(MARK(z0)) MARK(U31(z0)) -> c37(MARK(z0)) MARK(U42(z0)) -> c39(MARK(z0)) MARK(U52(z0)) -> c42(MARK(z0)) A__U61(tt, x0, 0) -> c16(A__U62(tt, x0)) A__U61(tt, x0, z0) -> c16(A__ISNAT(z0)) A__U62(tt, cons(z0, z1)) -> c18(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) A__U62(tt, s(z0)) -> c18(MARK(s(z0))) A__ISNATILIST(cons(0, x1)) -> c26(A__U41(tt, x1)) A__ISNATILIST(cons(z0, x1)) -> c26(A__ISNAT(z0)) A__ISNATLIST(cons(0, x1)) -> c29(A__U51(tt, x1)) A__ISNATLIST(cons(z0, x1)) -> c29(A__ISNAT(z0)) A__LENGTH(cons(x0, nil)) -> c32(A__U61(tt, nil, x0)) A__LENGTH(cons(x0, z0)) -> c32(A__ISNATLIST(z0)) MARK(U41(cons(z0, z1), x1)) -> c38(MARK(cons(z0, z1))) MARK(U41(tt, x1)) -> c38(A__U41(tt, x1)) MARK(U41(s(z0), x1)) -> c38(MARK(s(z0))) MARK(U41(isNatIList(z0), x1)) -> c(A__U41(a__isNatIList(z0), x1)) MARK(U41(isNatIList(z0), x1)) -> c(MARK(isNatIList(z0))) MARK(U41(isNatList(z0), x1)) -> c(A__U41(a__isNatList(z0), x1)) MARK(U41(isNatList(z0), x1)) -> c(MARK(isNatList(z0))) MARK(U41(isNat(z0), x1)) -> c(A__U41(a__isNat(z0), x1)) MARK(U41(isNat(z0), x1)) -> c(MARK(isNat(z0))) MARK(U51(U11(z0), x1)) -> c41(A__U51(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U51(U21(z0), x1)) -> c41(A__U51(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U51(U31(z0), x1)) -> c41(A__U51(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U51(U41(z0, z1), x1)) -> c41(A__U51(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U51(U42(z0), x1)) -> c41(A__U51(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U51(U51(z0, z1), x1)) -> c41(A__U51(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U51(U52(z0), x1)) -> c41(A__U51(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U51(U61(z0, z1, z2), x1)) -> c41(A__U51(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U51(U62(z0, z1), x1)) -> c41(A__U51(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U51(length(z0), x1)) -> c41(A__U51(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U51(zeros, x1)) -> c41(A__U51(a__zeros, x1)) MARK(U51(cons(z0, z1), x1)) -> c41(MARK(cons(z0, z1))) MARK(U51(tt, x1)) -> c41(A__U51(tt, x1)) MARK(U51(s(z0), x1)) -> c41(MARK(s(z0))) MARK(U51(isNatIList(z0), x1)) -> c1(A__U51(a__isNatIList(z0), x1)) MARK(U51(isNatIList(z0), x1)) -> c1(MARK(isNatIList(z0))) MARK(U51(isNatList(z0), x1)) -> c1(A__U51(a__isNatList(z0), x1)) MARK(U51(isNatList(z0), x1)) -> c1(MARK(isNatList(z0))) MARK(U51(isNat(z0), x1)) -> c1(A__U51(a__isNat(z0), x1)) MARK(U51(isNat(z0), x1)) -> c1(MARK(isNat(z0))) MARK(U61(U11(z0), x1, x2)) -> c44(A__U61(a__U11(mark(z0)), x1, x2), MARK(U11(z0))) MARK(U61(U21(z0), x1, x2)) -> c44(A__U61(a__U21(mark(z0)), x1, x2), MARK(U21(z0))) MARK(U61(U31(z0), x1, x2)) -> c44(A__U61(a__U31(mark(z0)), x1, x2), MARK(U31(z0))) MARK(U61(U41(z0, z1), x1, x2)) -> c44(A__U61(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U61(U42(z0), x1, x2)) -> c44(A__U61(a__U42(mark(z0)), x1, x2), MARK(U42(z0))) MARK(U61(isNatIList(z0), x1, x2)) -> c44(A__U61(a__isNatIList(z0), x1, x2), MARK(isNatIList(z0))) MARK(U61(U51(z0, z1), x1, x2)) -> c44(A__U61(a__U51(mark(z0), z1), x1, x2), MARK(U51(z0, z1))) MARK(U61(U52(z0), x1, x2)) -> c44(A__U61(a__U52(mark(z0)), x1, x2), MARK(U52(z0))) MARK(U61(isNatList(z0), x1, x2)) -> c44(A__U61(a__isNatList(z0), x1, x2), MARK(isNatList(z0))) MARK(U61(U61(z0, z1, z2), x1, x2)) -> c44(A__U61(a__U61(mark(z0), z1, z2), x1, x2), MARK(U61(z0, z1, z2))) MARK(U61(U62(z0, z1), x1, x2)) -> c44(A__U61(a__U62(mark(z0), z1), x1, x2), MARK(U62(z0, z1))) MARK(U61(isNat(z0), x1, x2)) -> c44(A__U61(a__isNat(z0), x1, x2), MARK(isNat(z0))) MARK(U61(length(z0), x1, x2)) -> c44(A__U61(a__length(mark(z0)), x1, x2), MARK(length(z0))) MARK(U61(zeros, x1, x2)) -> c44(A__U61(a__zeros, x1, x2)) MARK(U61(cons(z0, z1), x1, x2)) -> c44(MARK(cons(z0, z1))) MARK(U61(tt, x1, x2)) -> c44(A__U61(tt, x1, x2)) MARK(U61(s(z0), x1, x2)) -> c44(MARK(s(z0))) MARK(U62(U11(z0), x1)) -> c45(A__U62(a__U11(mark(z0)), x1), MARK(U11(z0))) MARK(U62(U21(z0), x1)) -> c45(A__U62(a__U21(mark(z0)), x1), MARK(U21(z0))) MARK(U62(U31(z0), x1)) -> c45(A__U62(a__U31(mark(z0)), x1), MARK(U31(z0))) MARK(U62(U41(z0, z1), x1)) -> c45(A__U62(a__U41(mark(z0), z1), x1), MARK(U41(z0, z1))) MARK(U62(U42(z0), x1)) -> c45(A__U62(a__U42(mark(z0)), x1), MARK(U42(z0))) MARK(U62(isNatIList(z0), x1)) -> c45(A__U62(a__isNatIList(z0), x1), MARK(isNatIList(z0))) MARK(U62(U51(z0, z1), x1)) -> c45(A__U62(a__U51(mark(z0), z1), x1), MARK(U51(z0, z1))) MARK(U62(U52(z0), x1)) -> c45(A__U62(a__U52(mark(z0)), x1), MARK(U52(z0))) MARK(U62(isNatList(z0), x1)) -> c45(A__U62(a__isNatList(z0), x1), MARK(isNatList(z0))) MARK(U62(U61(z0, z1, z2), x1)) -> c45(A__U62(a__U61(mark(z0), z1, z2), x1), MARK(U61(z0, z1, z2))) MARK(U62(U62(z0, z1), x1)) -> c45(A__U62(a__U62(mark(z0), z1), x1), MARK(U62(z0, z1))) MARK(U62(isNat(z0), x1)) -> c45(A__U62(a__isNat(z0), x1), MARK(isNat(z0))) MARK(U62(length(z0), x1)) -> c45(A__U62(a__length(mark(z0)), x1), MARK(length(z0))) MARK(U62(zeros, x1)) -> c45(A__U62(a__zeros, x1)) MARK(U62(cons(z0, z1), x1)) -> c45(MARK(cons(z0, z1))) MARK(U62(tt, x1)) -> c45(A__U62(tt, x1)) MARK(U62(s(z0), x1)) -> c45(MARK(s(z0))) MARK(length(U11(z0))) -> c47(A__LENGTH(a__U11(mark(z0))), MARK(U11(z0))) MARK(length(U21(z0))) -> c47(A__LENGTH(a__U21(mark(z0))), MARK(U21(z0))) MARK(length(U31(z0))) -> c47(A__LENGTH(a__U31(mark(z0))), MARK(U31(z0))) MARK(length(U41(z0, z1))) -> c47(A__LENGTH(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(length(U42(z0))) -> c47(A__LENGTH(a__U42(mark(z0))), MARK(U42(z0))) MARK(length(isNatIList(z0))) -> c47(A__LENGTH(a__isNatIList(z0)), MARK(isNatIList(z0))) MARK(length(U51(z0, z1))) -> c47(A__LENGTH(a__U51(mark(z0), z1)), MARK(U51(z0, z1))) MARK(length(U52(z0))) -> c47(A__LENGTH(a__U52(mark(z0))), MARK(U52(z0))) MARK(length(isNatList(z0))) -> c47(A__LENGTH(a__isNatList(z0)), MARK(isNatList(z0))) MARK(length(U61(z0, z1, z2))) -> c47(A__LENGTH(a__U61(mark(z0), z1, z2)), MARK(U61(z0, z1, z2))) MARK(length(U62(z0, z1))) -> c47(A__LENGTH(a__U62(mark(z0), z1)), MARK(U62(z0, z1))) MARK(length(isNat(z0))) -> c47(A__LENGTH(a__isNat(z0)), MARK(isNat(z0))) MARK(length(length(z0))) -> c47(A__LENGTH(a__length(mark(z0))), MARK(length(z0))) MARK(length(cons(z0, z1))) -> c47(A__LENGTH(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(length(zeros)) -> c47(A__LENGTH(a__zeros)) MARK(length(s(z0))) -> c47(MARK(s(z0))) A__U61(tt, x0, length(nil)) -> c16(A__U62(a__U11(tt), x0), A__ISNAT(length(nil))) A__U61(tt, x0, length(cons(z0, z1))) -> c16(A__U62(a__U11(a__U51(a__isNat(z0), z1)), x0), A__ISNAT(length(cons(z0, z1)))) A__U61(tt, x0, length(z0)) -> c16(A__U62(a__U11(isNatList(z0)), x0), A__ISNAT(length(z0))) A__U61(tt, x0, length(x1)) -> c16(A__ISNAT(length(x1))) A__U61(tt, x0, s(0)) -> c16(A__U62(a__U21(tt), x0), A__ISNAT(s(0))) A__U61(tt, x0, s(length(z0))) -> c16(A__U62(a__U21(a__U11(a__isNatList(z0))), x0), A__ISNAT(s(length(z0)))) A__U61(tt, x0, s(s(z0))) -> c16(A__U62(a__U21(a__U21(a__isNat(z0))), x0), A__ISNAT(s(s(z0)))) A__U61(tt, x0, s(z0)) -> c16(A__U62(a__U21(isNat(z0)), x0), A__ISNAT(s(z0))) A__U61(tt, x0, s(x1)) -> c16(A__ISNAT(s(x1))) A__U62(tt, U11(zeros)) -> c18(A__LENGTH(a__U11(a__zeros)), MARK(U11(zeros))) A__U62(tt, U11(U11(z0))) -> c18(A__LENGTH(a__U11(a__U11(mark(z0)))), MARK(U11(U11(z0)))) A__U62(tt, U11(U21(z0))) -> c18(A__LENGTH(a__U11(a__U21(mark(z0)))), MARK(U11(U21(z0)))) A__U62(tt, U11(U31(z0))) -> c18(A__LENGTH(a__U11(a__U31(mark(z0)))), MARK(U11(U31(z0)))) A__U62(tt, U11(U41(z0, z1))) -> c18(A__LENGTH(a__U11(a__U41(mark(z0), z1))), MARK(U11(U41(z0, z1)))) A__U62(tt, U11(U42(z0))) -> c18(A__LENGTH(a__U11(a__U42(mark(z0)))), MARK(U11(U42(z0)))) A__U62(tt, U11(isNatIList(z0))) -> c18(A__LENGTH(a__U11(a__isNatIList(z0))), MARK(U11(isNatIList(z0)))) A__U62(tt, U11(U51(z0, z1))) -> c18(A__LENGTH(a__U11(a__U51(mark(z0), z1))), MARK(U11(U51(z0, z1)))) A__U62(tt, U11(U52(z0))) -> c18(A__LENGTH(a__U11(a__U52(mark(z0)))), MARK(U11(U52(z0)))) A__U62(tt, U11(isNatList(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(U11(isNatList(z0)))) A__U62(tt, U11(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U11(a__U61(mark(z0), z1, z2))), MARK(U11(U61(z0, z1, z2)))) A__U62(tt, U11(U62(z0, z1))) -> c18(A__LENGTH(a__U11(a__U62(mark(z0), z1))), MARK(U11(U62(z0, z1)))) A__U62(tt, U11(isNat(z0))) -> c18(A__LENGTH(a__U11(a__isNat(z0))), MARK(U11(isNat(z0)))) A__U62(tt, U11(length(z0))) -> c18(A__LENGTH(a__U11(a__length(mark(z0)))), MARK(U11(length(z0)))) A__U62(tt, U11(cons(z0, z1))) -> c18(A__LENGTH(a__U11(cons(mark(z0), z1))), MARK(U11(cons(z0, z1)))) A__U62(tt, U11(0)) -> c18(A__LENGTH(a__U11(0)), MARK(U11(0))) A__U62(tt, U11(tt)) -> c18(A__LENGTH(a__U11(tt)), MARK(U11(tt))) A__U62(tt, U11(s(z0))) -> c18(A__LENGTH(a__U11(s(mark(z0)))), MARK(U11(s(z0)))) A__U62(tt, U11(nil)) -> c18(A__LENGTH(a__U11(nil)), MARK(U11(nil))) A__U62(tt, U11(x0)) -> c18(MARK(U11(x0))) A__U62(tt, U21(zeros)) -> c18(A__LENGTH(a__U21(a__zeros)), MARK(U21(zeros))) A__U62(tt, U21(U11(z0))) -> c18(A__LENGTH(a__U21(a__U11(mark(z0)))), MARK(U21(U11(z0)))) A__U62(tt, U21(U21(z0))) -> c18(A__LENGTH(a__U21(a__U21(mark(z0)))), MARK(U21(U21(z0)))) A__U62(tt, U21(U31(z0))) -> c18(A__LENGTH(a__U21(a__U31(mark(z0)))), MARK(U21(U31(z0)))) A__U62(tt, U21(U41(z0, z1))) -> c18(A__LENGTH(a__U21(a__U41(mark(z0), z1))), MARK(U21(U41(z0, z1)))) A__U62(tt, U21(U42(z0))) -> c18(A__LENGTH(a__U21(a__U42(mark(z0)))), MARK(U21(U42(z0)))) A__U62(tt, U21(isNatIList(z0))) -> c18(A__LENGTH(a__U21(a__isNatIList(z0))), MARK(U21(isNatIList(z0)))) A__U62(tt, U21(U51(z0, z1))) -> c18(A__LENGTH(a__U21(a__U51(mark(z0), z1))), MARK(U21(U51(z0, z1)))) A__U62(tt, U21(U52(z0))) -> c18(A__LENGTH(a__U21(a__U52(mark(z0)))), MARK(U21(U52(z0)))) A__U62(tt, U21(isNatList(z0))) -> c18(A__LENGTH(a__U21(a__isNatList(z0))), MARK(U21(isNatList(z0)))) A__U62(tt, U21(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U21(a__U61(mark(z0), z1, z2))), MARK(U21(U61(z0, z1, z2)))) A__U62(tt, U21(U62(z0, z1))) -> c18(A__LENGTH(a__U21(a__U62(mark(z0), z1))), MARK(U21(U62(z0, z1)))) A__U62(tt, U21(isNat(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(U21(isNat(z0)))) A__U62(tt, U21(length(z0))) -> c18(A__LENGTH(a__U21(a__length(mark(z0)))), MARK(U21(length(z0)))) A__U62(tt, U21(cons(z0, z1))) -> c18(A__LENGTH(a__U21(cons(mark(z0), z1))), MARK(U21(cons(z0, z1)))) A__U62(tt, U21(0)) -> c18(A__LENGTH(a__U21(0)), MARK(U21(0))) A__U62(tt, U21(tt)) -> c18(A__LENGTH(a__U21(tt)), MARK(U21(tt))) A__U62(tt, U21(s(z0))) -> c18(A__LENGTH(a__U21(s(mark(z0)))), MARK(U21(s(z0)))) A__U62(tt, U21(nil)) -> c18(A__LENGTH(a__U21(nil)), MARK(U21(nil))) A__U62(tt, U21(x0)) -> c18(MARK(U21(x0))) A__U62(tt, U31(zeros)) -> c18(A__LENGTH(a__U31(a__zeros)), MARK(U31(zeros))) A__U62(tt, U31(U11(z0))) -> c18(A__LENGTH(a__U31(a__U11(mark(z0)))), MARK(U31(U11(z0)))) A__U62(tt, U31(U21(z0))) -> c18(A__LENGTH(a__U31(a__U21(mark(z0)))), MARK(U31(U21(z0)))) A__U62(tt, U31(U31(z0))) -> c18(A__LENGTH(a__U31(a__U31(mark(z0)))), MARK(U31(U31(z0)))) A__U62(tt, U31(U41(z0, z1))) -> c18(A__LENGTH(a__U31(a__U41(mark(z0), z1))), MARK(U31(U41(z0, z1)))) A__U62(tt, U31(U42(z0))) -> c18(A__LENGTH(a__U31(a__U42(mark(z0)))), MARK(U31(U42(z0)))) A__U62(tt, U31(isNatIList(z0))) -> c18(A__LENGTH(a__U31(a__isNatIList(z0))), MARK(U31(isNatIList(z0)))) A__U62(tt, U31(U51(z0, z1))) -> c18(A__LENGTH(a__U31(a__U51(mark(z0), z1))), MARK(U31(U51(z0, z1)))) A__U62(tt, U31(U52(z0))) -> c18(A__LENGTH(a__U31(a__U52(mark(z0)))), MARK(U31(U52(z0)))) A__U62(tt, U31(isNatList(z0))) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(U31(isNatList(z0)))) A__U62(tt, U31(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U31(a__U61(mark(z0), z1, z2))), MARK(U31(U61(z0, z1, z2)))) A__U62(tt, U31(U62(z0, z1))) -> c18(A__LENGTH(a__U31(a__U62(mark(z0), z1))), MARK(U31(U62(z0, z1)))) A__U62(tt, U31(isNat(z0))) -> c18(A__LENGTH(a__U31(a__isNat(z0))), MARK(U31(isNat(z0)))) A__U62(tt, U31(length(z0))) -> c18(A__LENGTH(a__U31(a__length(mark(z0)))), MARK(U31(length(z0)))) A__U62(tt, U31(cons(z0, z1))) -> c18(A__LENGTH(a__U31(cons(mark(z0), z1))), MARK(U31(cons(z0, z1)))) A__U62(tt, U31(0)) -> c18(A__LENGTH(a__U31(0)), MARK(U31(0))) A__U62(tt, U31(tt)) -> c18(A__LENGTH(a__U31(tt)), MARK(U31(tt))) A__U62(tt, U31(s(z0))) -> c18(A__LENGTH(a__U31(s(mark(z0)))), MARK(U31(s(z0)))) A__U62(tt, U31(nil)) -> c18(A__LENGTH(a__U31(nil)), MARK(U31(nil))) A__U62(tt, U31(x0)) -> c18(MARK(U31(x0))) A__U62(tt, U41(U11(z0), x1)) -> c18(A__LENGTH(a__U41(a__U11(mark(z0)), x1)), MARK(U41(U11(z0), x1))) A__U62(tt, U41(U21(z0), x1)) -> c18(A__LENGTH(a__U41(a__U21(mark(z0)), x1)), MARK(U41(U21(z0), x1))) A__U62(tt, U41(U31(z0), x1)) -> c18(A__LENGTH(a__U41(a__U31(mark(z0)), x1)), MARK(U41(U31(z0), x1))) A__U62(tt, U41(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U41(mark(z0), z1), x1)), MARK(U41(U41(z0, z1), x1))) A__U62(tt, U41(U42(z0), x1)) -> c18(A__LENGTH(a__U41(a__U42(mark(z0)), x1)), MARK(U41(U42(z0), x1))) A__U62(tt, U41(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatIList(z0), x1)), MARK(U41(isNatIList(z0), x1))) A__U62(tt, U41(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U51(mark(z0), z1), x1)), MARK(U41(U51(z0, z1), x1))) A__U62(tt, U41(U52(z0), x1)) -> c18(A__LENGTH(a__U41(a__U52(mark(z0)), x1)), MARK(U41(U52(z0), x1))) A__U62(tt, U41(isNatList(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNatList(z0), x1)), MARK(U41(isNatList(z0), x1))) A__U62(tt, U41(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U41(a__U61(mark(z0), z1, z2), x1)), MARK(U41(U61(z0, z1, z2), x1))) A__U62(tt, U41(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U41(a__U62(mark(z0), z1), x1)), MARK(U41(U62(z0, z1), x1))) A__U62(tt, U41(isNat(z0), x1)) -> c18(A__LENGTH(a__U41(a__isNat(z0), x1)), MARK(U41(isNat(z0), x1))) A__U62(tt, U41(length(z0), x1)) -> c18(A__LENGTH(a__U41(a__length(mark(z0)), x1)), MARK(U41(length(z0), x1))) A__U62(tt, U41(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U41(cons(mark(z0), z1), x1)), MARK(U41(cons(z0, z1), x1))) A__U62(tt, U41(tt, x1)) -> c18(A__LENGTH(a__U41(tt, x1)), MARK(U41(tt, x1))) A__U62(tt, U41(s(z0), x1)) -> c18(A__LENGTH(a__U41(s(mark(z0)), x1)), MARK(U41(s(z0), x1))) A__U62(tt, U41(x0, z1)) -> c18(MARK(U41(x0, z1))) A__U62(tt, U41(0, x1)) -> c18(A__LENGTH(a__U41(0, x1))) A__U62(tt, U41(nil, x1)) -> c18(A__LENGTH(a__U41(nil, x1))) A__U62(tt, U42(zeros)) -> c18(A__LENGTH(a__U42(a__zeros)), MARK(U42(zeros))) A__U62(tt, U42(U11(z0))) -> c18(A__LENGTH(a__U42(a__U11(mark(z0)))), MARK(U42(U11(z0)))) A__U62(tt, U42(U21(z0))) -> c18(A__LENGTH(a__U42(a__U21(mark(z0)))), MARK(U42(U21(z0)))) A__U62(tt, U42(U31(z0))) -> c18(A__LENGTH(a__U42(a__U31(mark(z0)))), MARK(U42(U31(z0)))) A__U62(tt, U42(U41(z0, z1))) -> c18(A__LENGTH(a__U42(a__U41(mark(z0), z1))), MARK(U42(U41(z0, z1)))) A__U62(tt, U42(U42(z0))) -> c18(A__LENGTH(a__U42(a__U42(mark(z0)))), MARK(U42(U42(z0)))) A__U62(tt, U42(isNatIList(z0))) -> c18(A__LENGTH(a__U42(a__isNatIList(z0))), MARK(U42(isNatIList(z0)))) A__U62(tt, U42(U51(z0, z1))) -> c18(A__LENGTH(a__U42(a__U51(mark(z0), z1))), MARK(U42(U51(z0, z1)))) A__U62(tt, U42(U52(z0))) -> c18(A__LENGTH(a__U42(a__U52(mark(z0)))), MARK(U42(U52(z0)))) A__U62(tt, U42(isNatList(z0))) -> c18(A__LENGTH(a__U42(a__isNatList(z0))), MARK(U42(isNatList(z0)))) A__U62(tt, U42(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U42(a__U61(mark(z0), z1, z2))), MARK(U42(U61(z0, z1, z2)))) A__U62(tt, U42(U62(z0, z1))) -> c18(A__LENGTH(a__U42(a__U62(mark(z0), z1))), MARK(U42(U62(z0, z1)))) A__U62(tt, U42(isNat(z0))) -> c18(A__LENGTH(a__U42(a__isNat(z0))), MARK(U42(isNat(z0)))) A__U62(tt, U42(length(z0))) -> c18(A__LENGTH(a__U42(a__length(mark(z0)))), MARK(U42(length(z0)))) A__U62(tt, U42(cons(z0, z1))) -> c18(A__LENGTH(a__U42(cons(mark(z0), z1))), MARK(U42(cons(z0, z1)))) A__U62(tt, U42(0)) -> c18(A__LENGTH(a__U42(0)), MARK(U42(0))) A__U62(tt, U42(tt)) -> c18(A__LENGTH(a__U42(tt)), MARK(U42(tt))) A__U62(tt, U42(s(z0))) -> c18(A__LENGTH(a__U42(s(mark(z0)))), MARK(U42(s(z0)))) A__U62(tt, U42(nil)) -> c18(A__LENGTH(a__U42(nil)), MARK(U42(nil))) A__U62(tt, U42(x0)) -> c18(MARK(U42(x0))) A__U62(tt, isNatIList(z0)) -> c18(A__LENGTH(a__U31(a__isNatList(z0))), MARK(isNatIList(z0))) A__U62(tt, isNatIList(cons(z0, z1))) -> c18(A__LENGTH(a__U41(a__isNat(z0), z1)), MARK(isNatIList(cons(z0, z1)))) A__U62(tt, isNatIList(zeros)) -> c18(MARK(isNatIList(zeros))) A__U62(tt, isNatIList(z0)) -> c18(MARK(isNatIList(z0))) A__U62(tt, U51(zeros, x1)) -> c18(A__LENGTH(a__U51(a__zeros, x1)), MARK(U51(zeros, x1))) A__U62(tt, U51(U11(z0), x1)) -> c18(A__LENGTH(a__U51(a__U11(mark(z0)), x1)), MARK(U51(U11(z0), x1))) A__U62(tt, U51(U21(z0), x1)) -> c18(A__LENGTH(a__U51(a__U21(mark(z0)), x1)), MARK(U51(U21(z0), x1))) A__U62(tt, U51(U31(z0), x1)) -> c18(A__LENGTH(a__U51(a__U31(mark(z0)), x1)), MARK(U51(U31(z0), x1))) A__U62(tt, U51(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U41(mark(z0), z1), x1)), MARK(U51(U41(z0, z1), x1))) A__U62(tt, U51(U42(z0), x1)) -> c18(A__LENGTH(a__U51(a__U42(mark(z0)), x1)), MARK(U51(U42(z0), x1))) A__U62(tt, U51(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatIList(z0), x1)), MARK(U51(isNatIList(z0), x1))) A__U62(tt, U51(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U51(mark(z0), z1), x1)), MARK(U51(U51(z0, z1), x1))) A__U62(tt, U51(U52(z0), x1)) -> c18(A__LENGTH(a__U51(a__U52(mark(z0)), x1)), MARK(U51(U52(z0), x1))) A__U62(tt, U51(isNatList(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNatList(z0), x1)), MARK(U51(isNatList(z0), x1))) A__U62(tt, U51(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U51(a__U61(mark(z0), z1, z2), x1)), MARK(U51(U61(z0, z1, z2), x1))) A__U62(tt, U51(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U51(a__U62(mark(z0), z1), x1)), MARK(U51(U62(z0, z1), x1))) A__U62(tt, U51(isNat(z0), x1)) -> c18(A__LENGTH(a__U51(a__isNat(z0), x1)), MARK(U51(isNat(z0), x1))) A__U62(tt, U51(length(z0), x1)) -> c18(A__LENGTH(a__U51(a__length(mark(z0)), x1)), MARK(U51(length(z0), x1))) A__U62(tt, U51(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U51(cons(mark(z0), z1), x1)), MARK(U51(cons(z0, z1), x1))) A__U62(tt, U51(tt, x1)) -> c18(A__LENGTH(a__U51(tt, x1)), MARK(U51(tt, x1))) A__U62(tt, U51(s(z0), x1)) -> c18(A__LENGTH(a__U51(s(mark(z0)), x1)), MARK(U51(s(z0), x1))) A__U62(tt, U51(x0, z1)) -> c18(MARK(U51(x0, z1))) A__U62(tt, U51(0, x1)) -> c18(A__LENGTH(a__U51(0, x1))) A__U62(tt, U51(nil, x1)) -> c18(A__LENGTH(a__U51(nil, x1))) A__U62(tt, U52(zeros)) -> c18(A__LENGTH(a__U52(a__zeros)), MARK(U52(zeros))) A__U62(tt, U52(U11(z0))) -> c18(A__LENGTH(a__U52(a__U11(mark(z0)))), MARK(U52(U11(z0)))) A__U62(tt, U52(U21(z0))) -> c18(A__LENGTH(a__U52(a__U21(mark(z0)))), MARK(U52(U21(z0)))) A__U62(tt, U52(U31(z0))) -> c18(A__LENGTH(a__U52(a__U31(mark(z0)))), MARK(U52(U31(z0)))) A__U62(tt, U52(U41(z0, z1))) -> c18(A__LENGTH(a__U52(a__U41(mark(z0), z1))), MARK(U52(U41(z0, z1)))) A__U62(tt, U52(U42(z0))) -> c18(A__LENGTH(a__U52(a__U42(mark(z0)))), MARK(U52(U42(z0)))) A__U62(tt, U52(isNatIList(z0))) -> c18(A__LENGTH(a__U52(a__isNatIList(z0))), MARK(U52(isNatIList(z0)))) A__U62(tt, U52(U51(z0, z1))) -> c18(A__LENGTH(a__U52(a__U51(mark(z0), z1))), MARK(U52(U51(z0, z1)))) A__U62(tt, U52(U52(z0))) -> c18(A__LENGTH(a__U52(a__U52(mark(z0)))), MARK(U52(U52(z0)))) A__U62(tt, U52(isNatList(z0))) -> c18(A__LENGTH(a__U52(a__isNatList(z0))), MARK(U52(isNatList(z0)))) A__U62(tt, U52(U61(z0, z1, z2))) -> c18(A__LENGTH(a__U52(a__U61(mark(z0), z1, z2))), MARK(U52(U61(z0, z1, z2)))) A__U62(tt, U52(U62(z0, z1))) -> c18(A__LENGTH(a__U52(a__U62(mark(z0), z1))), MARK(U52(U62(z0, z1)))) A__U62(tt, U52(isNat(z0))) -> c18(A__LENGTH(a__U52(a__isNat(z0))), MARK(U52(isNat(z0)))) A__U62(tt, U52(length(z0))) -> c18(A__LENGTH(a__U52(a__length(mark(z0)))), MARK(U52(length(z0)))) A__U62(tt, U52(cons(z0, z1))) -> c18(A__LENGTH(a__U52(cons(mark(z0), z1))), MARK(U52(cons(z0, z1)))) A__U62(tt, U52(0)) -> c18(A__LENGTH(a__U52(0)), MARK(U52(0))) A__U62(tt, U52(tt)) -> c18(A__LENGTH(a__U52(tt)), MARK(U52(tt))) A__U62(tt, U52(s(z0))) -> c18(A__LENGTH(a__U52(s(mark(z0)))), MARK(U52(s(z0)))) A__U62(tt, U52(nil)) -> c18(A__LENGTH(a__U52(nil)), MARK(U52(nil))) A__U62(tt, U52(x0)) -> c18(MARK(U52(x0))) A__U62(tt, isNatList(cons(z0, z1))) -> c18(A__LENGTH(a__U51(a__isNat(z0), z1)), MARK(isNatList(cons(z0, z1)))) A__U62(tt, isNatList(nil)) -> c18(MARK(isNatList(nil))) A__U62(tt, isNatList(z0)) -> c18(MARK(isNatList(z0))) A__U62(tt, U61(zeros, x1, x2)) -> c18(A__LENGTH(a__U61(a__zeros, x1, x2)), MARK(U61(zeros, x1, x2))) A__U62(tt, U61(U11(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U11(mark(z0)), x1, x2)), MARK(U61(U11(z0), x1, x2))) A__U62(tt, U61(U21(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U21(mark(z0)), x1, x2)), MARK(U61(U21(z0), x1, x2))) A__U62(tt, U61(U31(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U31(mark(z0)), x1, x2)), MARK(U61(U31(z0), x1, x2))) A__U62(tt, U61(U41(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U41(mark(z0), z1), x1, x2)), MARK(U61(U41(z0, z1), x1, x2))) A__U62(tt, U61(U42(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U42(mark(z0)), x1, x2)), MARK(U61(U42(z0), x1, x2))) A__U62(tt, U61(isNatIList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatIList(z0), x1, x2)), MARK(U61(isNatIList(z0), x1, x2))) A__U62(tt, U61(U51(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U51(mark(z0), z1), x1, x2)), MARK(U61(U51(z0, z1), x1, x2))) A__U62(tt, U61(U52(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__U52(mark(z0)), x1, x2)), MARK(U61(U52(z0), x1, x2))) A__U62(tt, U61(isNatList(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNatList(z0), x1, x2)), MARK(U61(isNatList(z0), x1, x2))) A__U62(tt, U61(U61(z0, z1, z2), x1, x2)) -> c18(A__LENGTH(a__U61(a__U61(mark(z0), z1, z2), x1, x2)), MARK(U61(U61(z0, z1, z2), x1, x2))) A__U62(tt, U61(U62(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(a__U62(mark(z0), z1), x1, x2)), MARK(U61(U62(z0, z1), x1, x2))) A__U62(tt, U61(isNat(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__isNat(z0), x1, x2)), MARK(U61(isNat(z0), x1, x2))) A__U62(tt, U61(length(z0), x1, x2)) -> c18(A__LENGTH(a__U61(a__length(mark(z0)), x1, x2)), MARK(U61(length(z0), x1, x2))) A__U62(tt, U61(cons(z0, z1), x1, x2)) -> c18(A__LENGTH(a__U61(cons(mark(z0), z1), x1, x2)), MARK(U61(cons(z0, z1), x1, x2))) A__U62(tt, U61(tt, x1, x2)) -> c18(A__LENGTH(a__U61(tt, x1, x2)), MARK(U61(tt, x1, x2))) A__U62(tt, U61(s(z0), x1, x2)) -> c18(A__LENGTH(a__U61(s(mark(z0)), x1, x2)), MARK(U61(s(z0), x1, x2))) A__U62(tt, U61(x0, z1, z2)) -> c18(MARK(U61(x0, z1, z2))) A__U62(tt, U61(0, x1, x2)) -> c18(A__LENGTH(a__U61(0, x1, x2))) A__U62(tt, U61(nil, x1, x2)) -> c18(A__LENGTH(a__U61(nil, x1, x2))) A__U62(tt, U62(zeros, x1)) -> c18(A__LENGTH(a__U62(a__zeros, x1)), MARK(U62(zeros, x1))) A__U62(tt, U62(U11(z0), x1)) -> c18(A__LENGTH(a__U62(a__U11(mark(z0)), x1)), MARK(U62(U11(z0), x1))) A__U62(tt, U62(U21(z0), x1)) -> c18(A__LENGTH(a__U62(a__U21(mark(z0)), x1)), MARK(U62(U21(z0), x1))) A__U62(tt, U62(U31(z0), x1)) -> c18(A__LENGTH(a__U62(a__U31(mark(z0)), x1)), MARK(U62(U31(z0), x1))) A__U62(tt, U62(U41(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U41(mark(z0), z1), x1)), MARK(U62(U41(z0, z1), x1))) A__U62(tt, U62(U42(z0), x1)) -> c18(A__LENGTH(a__U62(a__U42(mark(z0)), x1)), MARK(U62(U42(z0), x1))) A__U62(tt, U62(isNatIList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatIList(z0), x1)), MARK(U62(isNatIList(z0), x1))) A__U62(tt, U62(U51(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U51(mark(z0), z1), x1)), MARK(U62(U51(z0, z1), x1))) A__U62(tt, U62(U52(z0), x1)) -> c18(A__LENGTH(a__U62(a__U52(mark(z0)), x1)), MARK(U62(U52(z0), x1))) A__U62(tt, U62(isNatList(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNatList(z0), x1)), MARK(U62(isNatList(z0), x1))) A__U62(tt, U62(U61(z0, z1, z2), x1)) -> c18(A__LENGTH(a__U62(a__U61(mark(z0), z1, z2), x1)), MARK(U62(U61(z0, z1, z2), x1))) A__U62(tt, U62(U62(z0, z1), x1)) -> c18(A__LENGTH(a__U62(a__U62(mark(z0), z1), x1)), MARK(U62(U62(z0, z1), x1))) A__U62(tt, U62(isNat(z0), x1)) -> c18(A__LENGTH(a__U62(a__isNat(z0), x1)), MARK(U62(isNat(z0), x1))) A__U62(tt, U62(length(z0), x1)) -> c18(A__LENGTH(a__U62(a__length(mark(z0)), x1)), MARK(U62(length(z0), x1))) A__U62(tt, U62(cons(z0, z1), x1)) -> c18(A__LENGTH(a__U62(cons(mark(z0), z1), x1)), MARK(U62(cons(z0, z1), x1))) A__U62(tt, U62(tt, x1)) -> c18(A__LENGTH(a__U62(tt, x1)), MARK(U62(tt, x1))) A__U62(tt, U62(s(z0), x1)) -> c18(A__LENGTH(a__U62(s(mark(z0)), x1)), MARK(U62(s(z0), x1))) A__U62(tt, U62(x0, z1)) -> c18(MARK(U62(x0, z1))) A__U62(tt, U62(0, x1)) -> c18(A__LENGTH(a__U62(0, x1))) A__U62(tt, U62(nil, x1)) -> c18(A__LENGTH(a__U62(nil, x1))) A__U62(tt, isNat(length(z0))) -> c18(A__LENGTH(a__U11(a__isNatList(z0))), MARK(isNat(length(z0)))) A__U62(tt, isNat(s(z0))) -> c18(A__LENGTH(a__U21(a__isNat(z0))), MARK(isNat(s(z0)))) A__U62(tt, isNat(0)) -> c18(MARK(isNat(0))) A__U62(tt, isNat(z0)) -> c18(MARK(isNat(z0))) A__U62(tt, length(zeros)) -> c18(A__LENGTH(a__length(a__zeros)), MARK(length(zeros))) A__U62(tt, length(U11(z0))) -> c18(A__LENGTH(a__length(a__U11(mark(z0)))), MARK(length(U11(z0)))) A__U62(tt, length(U21(z0))) -> c18(A__LENGTH(a__length(a__U21(mark(z0)))), MARK(length(U21(z0)))) A__U62(tt, length(U31(z0))) -> c18(A__LENGTH(a__length(a__U31(mark(z0)))), MARK(length(U31(z0)))) A__U62(tt, length(U41(z0, z1))) -> c18(A__LENGTH(a__length(a__U41(mark(z0), z1))), MARK(length(U41(z0, z1)))) A__U62(tt, length(U42(z0))) -> c18(A__LENGTH(a__length(a__U42(mark(z0)))), MARK(length(U42(z0)))) A__U62(tt, length(isNatIList(z0))) -> c18(A__LENGTH(a__length(a__isNatIList(z0))), MARK(length(isNatIList(z0)))) A__U62(tt, length(U51(z0, z1))) -> c18(A__LENGTH(a__length(a__U51(mark(z0), z1))), MARK(length(U51(z0, z1)))) A__U62(tt, length(U52(z0))) -> c18(A__LENGTH(a__length(a__U52(mark(z0)))), MARK(length(U52(z0)))) A__U62(tt, length(isNatList(z0))) -> c18(A__LENGTH(a__length(a__isNatList(z0))), MARK(length(isNatList(z0)))) A__U62(tt, length(U61(z0, z1, z2))) -> c18(A__LENGTH(a__length(a__U61(mark(z0), z1, z2))), MARK(length(U61(z0, z1, z2)))) A__U62(tt, length(U62(z0, z1))) -> c18(A__LENGTH(a__length(a__U62(mark(z0), z1))), MARK(length(U62(z0, z1)))) A__U62(tt, length(isNat(z0))) -> c18(A__LENGTH(a__length(a__isNat(z0))), MARK(length(isNat(z0)))) A__U62(tt, length(length(z0))) -> c18(A__LENGTH(a__length(a__length(mark(z0)))), MARK(length(length(z0)))) A__U62(tt, length(cons(z0, z1))) -> c18(A__LENGTH(a__length(cons(mark(z0), z1))), MARK(length(cons(z0, z1)))) A__U62(tt, length(s(z0))) -> c18(A__LENGTH(a__length(s(mark(z0)))), MARK(length(s(z0)))) A__U62(tt, length(x0)) -> c18(MARK(length(x0))) A__U62(tt, length(0)) -> c18(A__LENGTH(a__length(0))) A__U62(tt, length(tt)) -> c18(A__LENGTH(a__length(tt))) A__U62(tt, length(nil)) -> c18(A__LENGTH(a__length(nil))) A__U62(tt, zeros) -> c18(A__LENGTH(cons(0, zeros))) A__ISNATILIST(cons(length(nil), x1)) -> c26(A__U41(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATILIST(cons(length(cons(z0, z1)), x1)) -> c26(A__U41(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATILIST(cons(length(z0), x1)) -> c26(A__U41(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATILIST(cons(length(x0), x1)) -> c26(A__ISNAT(length(x0))) A__ISNATILIST(cons(s(0), x1)) -> c26(A__U41(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATILIST(cons(s(length(z0)), x1)) -> c26(A__U41(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATILIST(cons(s(s(z0)), x1)) -> c26(A__U41(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATILIST(cons(s(z0), x1)) -> c26(A__U41(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATILIST(cons(s(x0), x1)) -> c26(A__ISNAT(s(x0))) A__ISNATLIST(cons(length(nil), x1)) -> c29(A__U51(a__U11(tt), x1), A__ISNAT(length(nil))) A__ISNATLIST(cons(length(cons(z0, z1)), x1)) -> c29(A__U51(a__U11(a__U51(a__isNat(z0), z1)), x1), A__ISNAT(length(cons(z0, z1)))) A__ISNATLIST(cons(length(z0), x1)) -> c29(A__U51(a__U11(isNatList(z0)), x1), A__ISNAT(length(z0))) A__ISNATLIST(cons(length(x0), x1)) -> c29(A__ISNAT(length(x0))) A__ISNATLIST(cons(s(0), x1)) -> c29(A__U51(a__U21(tt), x1), A__ISNAT(s(0))) A__ISNATLIST(cons(s(length(z0)), x1)) -> c29(A__U51(a__U21(a__U11(a__isNatList(z0))), x1), A__ISNAT(s(length(z0)))) A__ISNATLIST(cons(s(s(z0)), x1)) -> c29(A__U51(a__U21(a__U21(a__isNat(z0))), x1), A__ISNAT(s(s(z0)))) A__ISNATLIST(cons(s(z0), x1)) -> c29(A__U51(a__U21(isNat(z0)), x1), A__ISNAT(s(z0))) A__ISNATLIST(cons(s(x0), x1)) -> c29(A__ISNAT(s(x0))) A__LENGTH(cons(x0, cons(0, x2))) -> c32(A__U61(a__U51(tt, x2), cons(0, x2), x0), A__ISNATLIST(cons(0, x2))) A__LENGTH(cons(x0, cons(length(z0), x2))) -> c32(A__U61(a__U51(a__U11(a__isNatList(z0)), x2), cons(length(z0), x2), x0), A__ISNATLIST(cons(length(z0), x2))) A__LENGTH(cons(x0, cons(s(z0), x2))) -> c32(A__U61(a__U51(a__U21(a__isNat(z0)), x2), cons(s(z0), x2), x0), A__ISNATLIST(cons(s(z0), x2))) A__LENGTH(cons(x0, cons(z0, x2))) -> c32(A__U61(a__U51(isNat(z0), x2), cons(z0, x2), x0), A__ISNATLIST(cons(z0, x2))) A__LENGTH(cons(x0, cons(x1, z1))) -> c32(A__ISNATLIST(cons(x1, z1))) MARK(U41(U11(zeros), x1)) -> c38(A__U41(a__U11(a__zeros), x1), MARK(U11(zeros))) MARK(U41(U11(U11(z0)), x1)) -> c38(A__U41(a__U11(a__U11(mark(z0))), x1), MARK(U11(U11(z0)))) MARK(U41(U11(U21(z0)), x1)) -> c38(A__U41(a__U11(a__U21(mark(z0))), x1), MARK(U11(U21(z0)))) MARK(U41(U11(U31(z0)), x1)) -> c38(A__U41(a__U11(a__U31(mark(z0))), x1), MARK(U11(U31(z0)))) MARK(U41(U11(U41(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U41(mark(z0), z1)), x1), MARK(U11(U41(z0, z1)))) MARK(U41(U11(U42(z0)), x1)) -> c38(A__U41(a__U11(a__U42(mark(z0))), x1), MARK(U11(U42(z0)))) MARK(U41(U11(isNatIList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatIList(z0)), x1), MARK(U11(isNatIList(z0)))) MARK(U41(U11(U51(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U51(mark(z0), z1)), x1), MARK(U11(U51(z0, z1)))) MARK(U41(U11(U52(z0)), x1)) -> c38(A__U41(a__U11(a__U52(mark(z0))), x1), MARK(U11(U52(z0)))) MARK(U41(U11(isNatList(z0)), x1)) -> c38(A__U41(a__U11(a__isNatList(z0)), x1), MARK(U11(isNatList(z0)))) MARK(U41(U11(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U11(a__U61(mark(z0), z1, z2)), x1), MARK(U11(U61(z0, z1, z2)))) MARK(U41(U11(U62(z0, z1)), x1)) -> c38(A__U41(a__U11(a__U62(mark(z0), z1)), x1), MARK(U11(U62(z0, z1)))) MARK(U41(U11(isNat(z0)), x1)) -> c38(A__U41(a__U11(a__isNat(z0)), x1), MARK(U11(isNat(z0)))) MARK(U41(U11(length(z0)), x1)) -> c38(A__U41(a__U11(a__length(mark(z0))), x1), MARK(U11(length(z0)))) MARK(U41(U11(cons(z0, z1)), x1)) -> c38(A__U41(a__U11(cons(mark(z0), z1)), x1), MARK(U11(cons(z0, z1)))) MARK(U41(U11(0), x1)) -> c38(A__U41(a__U11(0), x1), MARK(U11(0))) MARK(U41(U11(tt), x1)) -> c38(A__U41(a__U11(tt), x1), MARK(U11(tt))) MARK(U41(U11(s(z0)), x1)) -> c38(A__U41(a__U11(s(mark(z0))), x1), MARK(U11(s(z0)))) MARK(U41(U11(nil), x1)) -> c38(A__U41(a__U11(nil), x1), MARK(U11(nil))) MARK(U41(U11(x0), x1)) -> c38(MARK(U11(x0))) MARK(U41(U21(zeros), x1)) -> c38(A__U41(a__U21(a__zeros), x1), MARK(U21(zeros))) MARK(U41(U21(U11(z0)), x1)) -> c38(A__U41(a__U21(a__U11(mark(z0))), x1), MARK(U21(U11(z0)))) MARK(U41(U21(U21(z0)), x1)) -> c38(A__U41(a__U21(a__U21(mark(z0))), x1), MARK(U21(U21(z0)))) MARK(U41(U21(U31(z0)), x1)) -> c38(A__U41(a__U21(a__U31(mark(z0))), x1), MARK(U21(U31(z0)))) MARK(U41(U21(U41(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U41(mark(z0), z1)), x1), MARK(U21(U41(z0, z1)))) MARK(U41(U21(U42(z0)), x1)) -> c38(A__U41(a__U21(a__U42(mark(z0))), x1), MARK(U21(U42(z0)))) MARK(U41(U21(isNatIList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatIList(z0)), x1), MARK(U21(isNatIList(z0)))) MARK(U41(U21(U51(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U51(mark(z0), z1)), x1), MARK(U21(U51(z0, z1)))) MARK(U41(U21(U52(z0)), x1)) -> c38(A__U41(a__U21(a__U52(mark(z0))), x1), MARK(U21(U52(z0)))) MARK(U41(U21(isNatList(z0)), x1)) -> c38(A__U41(a__U21(a__isNatList(z0)), x1), MARK(U21(isNatList(z0)))) MARK(U41(U21(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U21(a__U61(mark(z0), z1, z2)), x1), MARK(U21(U61(z0, z1, z2)))) MARK(U41(U21(U62(z0, z1)), x1)) -> c38(A__U41(a__U21(a__U62(mark(z0), z1)), x1), MARK(U21(U62(z0, z1)))) MARK(U41(U21(isNat(z0)), x1)) -> c38(A__U41(a__U21(a__isNat(z0)), x1), MARK(U21(isNat(z0)))) MARK(U41(U21(length(z0)), x1)) -> c38(A__U41(a__U21(a__length(mark(z0))), x1), MARK(U21(length(z0)))) MARK(U41(U21(cons(z0, z1)), x1)) -> c38(A__U41(a__U21(cons(mark(z0), z1)), x1), MARK(U21(cons(z0, z1)))) MARK(U41(U21(0), x1)) -> c38(A__U41(a__U21(0), x1), MARK(U21(0))) MARK(U41(U21(tt), x1)) -> c38(A__U41(a__U21(tt), x1), MARK(U21(tt))) MARK(U41(U21(s(z0)), x1)) -> c38(A__U41(a__U21(s(mark(z0))), x1), MARK(U21(s(z0)))) MARK(U41(U21(nil), x1)) -> c38(A__U41(a__U21(nil), x1), MARK(U21(nil))) MARK(U41(U21(x0), x1)) -> c38(MARK(U21(x0))) MARK(U41(U31(zeros), x1)) -> c38(A__U41(a__U31(a__zeros), x1), MARK(U31(zeros))) MARK(U41(U31(U11(z0)), x1)) -> c38(A__U41(a__U31(a__U11(mark(z0))), x1), MARK(U31(U11(z0)))) MARK(U41(U31(U21(z0)), x1)) -> c38(A__U41(a__U31(a__U21(mark(z0))), x1), MARK(U31(U21(z0)))) MARK(U41(U31(U31(z0)), x1)) -> c38(A__U41(a__U31(a__U31(mark(z0))), x1), MARK(U31(U31(z0)))) MARK(U41(U31(U41(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U41(mark(z0), z1)), x1), MARK(U31(U41(z0, z1)))) MARK(U41(U31(U42(z0)), x1)) -> c38(A__U41(a__U31(a__U42(mark(z0))), x1), MARK(U31(U42(z0)))) MARK(U41(U31(isNatIList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatIList(z0)), x1), MARK(U31(isNatIList(z0)))) MARK(U41(U31(U51(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U51(mark(z0), z1)), x1), MARK(U31(U51(z0, z1)))) MARK(U41(U31(U52(z0)), x1)) -> c38(A__U41(a__U31(a__U52(mark(z0))), x1), MARK(U31(U52(z0)))) MARK(U41(U31(isNatList(z0)), x1)) -> c38(A__U41(a__U31(a__isNatList(z0)), x1), MARK(U31(isNatList(z0)))) MARK(U41(U31(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U31(a__U61(mark(z0), z1, z2)), x1), MARK(U31(U61(z0, z1, z2)))) MARK(U41(U31(U62(z0, z1)), x1)) -> c38(A__U41(a__U31(a__U62(mark(z0), z1)), x1), MARK(U31(U62(z0, z1)))) MARK(U41(U31(isNat(z0)), x1)) -> c38(A__U41(a__U31(a__isNat(z0)), x1), MARK(U31(isNat(z0)))) MARK(U41(U31(length(z0)), x1)) -> c38(A__U41(a__U31(a__length(mark(z0))), x1), MARK(U31(length(z0)))) MARK(U41(U31(cons(z0, z1)), x1)) -> c38(A__U41(a__U31(cons(mark(z0), z1)), x1), MARK(U31(cons(z0, z1)))) MARK(U41(U31(0), x1)) -> c38(A__U41(a__U31(0), x1), MARK(U31(0))) MARK(U41(U31(tt), x1)) -> c38(A__U41(a__U31(tt), x1), MARK(U31(tt))) MARK(U41(U31(s(z0)), x1)) -> c38(A__U41(a__U31(s(mark(z0))), x1), MARK(U31(s(z0)))) MARK(U41(U31(nil), x1)) -> c38(A__U41(a__U31(nil), x1), MARK(U31(nil))) MARK(U41(U31(x0), x1)) -> c38(MARK(U31(x0))) MARK(U41(U41(U11(z0), x1), x2)) -> c38(A__U41(a__U41(a__U11(mark(z0)), x1), x2), MARK(U41(U11(z0), x1))) MARK(U41(U41(U21(z0), x1), x2)) -> c38(A__U41(a__U41(a__U21(mark(z0)), x1), x2), MARK(U41(U21(z0), x1))) MARK(U41(U41(U31(z0), x1), x2)) -> c38(A__U41(a__U41(a__U31(mark(z0)), x1), x2), MARK(U41(U31(z0), x1))) MARK(U41(U41(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U41(mark(z0), z1), x1), x2), MARK(U41(U41(z0, z1), x1))) MARK(U41(U41(U42(z0), x1), x2)) -> c38(A__U41(a__U41(a__U42(mark(z0)), x1), x2), MARK(U41(U42(z0), x1))) MARK(U41(U41(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U51(mark(z0), z1), x1), x2), MARK(U41(U51(z0, z1), x1))) MARK(U41(U41(U52(z0), x1), x2)) -> c38(A__U41(a__U41(a__U52(mark(z0)), x1), x2), MARK(U41(U52(z0), x1))) MARK(U41(U41(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U41(a__U61(mark(z0), z1, z2), x1), x2), MARK(U41(U61(z0, z1, z2), x1))) MARK(U41(U41(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U41(a__U62(mark(z0), z1), x1), x2), MARK(U41(U62(z0, z1), x1))) MARK(U41(U41(length(z0), x1), x2)) -> c38(A__U41(a__U41(a__length(mark(z0)), x1), x2), MARK(U41(length(z0), x1))) MARK(U41(U41(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U41(cons(mark(z0), z1), x1), x2), MARK(U41(cons(z0, z1), x1))) MARK(U41(U41(s(z0), x1), x2)) -> c38(A__U41(a__U41(s(mark(z0)), x1), x2), MARK(U41(s(z0), x1))) MARK(U41(U41(x0, z1), x2)) -> c38(MARK(U41(x0, z1))) MARK(U41(U41(0, x1), x2)) -> c38(A__U41(a__U41(0, x1), x2)) MARK(U41(U41(nil, x1), x2)) -> c38(A__U41(a__U41(nil, x1), x2)) MARK(U41(U41(zeros, x1), x2)) -> c2(A__U41(a__U41(a__zeros, x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatIList(z0), x1), x2)) MARK(U41(U41(isNatIList(z0), x1), x2)) -> c2(MARK(U41(isNatIList(z0), x1))) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNatList(z0), x1), x2)) MARK(U41(U41(isNatList(z0), x1), x2)) -> c2(MARK(U41(isNatList(z0), x1))) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(A__U41(a__U41(a__isNat(z0), x1), x2)) MARK(U41(U41(isNat(z0), x1), x2)) -> c2(MARK(U41(isNat(z0), x1))) MARK(U41(U41(tt, x1), x2)) -> c2(A__U41(a__U41(tt, x1), x2)) MARK(U41(U41(tt, x1), x2)) -> c2(MARK(U41(tt, x1))) MARK(U41(U42(zeros), x1)) -> c38(A__U41(a__U42(a__zeros), x1), MARK(U42(zeros))) MARK(U41(U42(U11(z0)), x1)) -> c38(A__U41(a__U42(a__U11(mark(z0))), x1), MARK(U42(U11(z0)))) MARK(U41(U42(U21(z0)), x1)) -> c38(A__U41(a__U42(a__U21(mark(z0))), x1), MARK(U42(U21(z0)))) MARK(U41(U42(U31(z0)), x1)) -> c38(A__U41(a__U42(a__U31(mark(z0))), x1), MARK(U42(U31(z0)))) MARK(U41(U42(U41(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U41(mark(z0), z1)), x1), MARK(U42(U41(z0, z1)))) MARK(U41(U42(U42(z0)), x1)) -> c38(A__U41(a__U42(a__U42(mark(z0))), x1), MARK(U42(U42(z0)))) MARK(U41(U42(isNatIList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatIList(z0)), x1), MARK(U42(isNatIList(z0)))) MARK(U41(U42(U51(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U51(mark(z0), z1)), x1), MARK(U42(U51(z0, z1)))) MARK(U41(U42(U52(z0)), x1)) -> c38(A__U41(a__U42(a__U52(mark(z0))), x1), MARK(U42(U52(z0)))) MARK(U41(U42(isNatList(z0)), x1)) -> c38(A__U41(a__U42(a__isNatList(z0)), x1), MARK(U42(isNatList(z0)))) MARK(U41(U42(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U42(a__U61(mark(z0), z1, z2)), x1), MARK(U42(U61(z0, z1, z2)))) MARK(U41(U42(U62(z0, z1)), x1)) -> c38(A__U41(a__U42(a__U62(mark(z0), z1)), x1), MARK(U42(U62(z0, z1)))) MARK(U41(U42(isNat(z0)), x1)) -> c38(A__U41(a__U42(a__isNat(z0)), x1), MARK(U42(isNat(z0)))) MARK(U41(U42(length(z0)), x1)) -> c38(A__U41(a__U42(a__length(mark(z0))), x1), MARK(U42(length(z0)))) MARK(U41(U42(cons(z0, z1)), x1)) -> c38(A__U41(a__U42(cons(mark(z0), z1)), x1), MARK(U42(cons(z0, z1)))) MARK(U41(U42(0), x1)) -> c38(A__U41(a__U42(0), x1), MARK(U42(0))) MARK(U41(U42(tt), x1)) -> c38(A__U41(a__U42(tt), x1), MARK(U42(tt))) MARK(U41(U42(s(z0)), x1)) -> c38(A__U41(a__U42(s(mark(z0))), x1), MARK(U42(s(z0)))) MARK(U41(U42(nil), x1)) -> c38(A__U41(a__U42(nil), x1), MARK(U42(nil))) MARK(U41(U42(x0), x1)) -> c38(MARK(U42(x0))) MARK(U41(U51(U11(z0), x1), x2)) -> c38(A__U41(a__U51(a__U11(mark(z0)), x1), x2), MARK(U51(U11(z0), x1))) MARK(U41(U51(U21(z0), x1), x2)) -> c38(A__U41(a__U51(a__U21(mark(z0)), x1), x2), MARK(U51(U21(z0), x1))) MARK(U41(U51(U31(z0), x1), x2)) -> c38(A__U41(a__U51(a__U31(mark(z0)), x1), x2), MARK(U51(U31(z0), x1))) MARK(U41(U51(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U41(mark(z0), z1), x1), x2), MARK(U51(U41(z0, z1), x1))) MARK(U41(U51(U42(z0), x1), x2)) -> c38(A__U41(a__U51(a__U42(mark(z0)), x1), x2), MARK(U51(U42(z0), x1))) MARK(U41(U51(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U51(mark(z0), z1), x1), x2), MARK(U51(U51(z0, z1), x1))) MARK(U41(U51(U52(z0), x1), x2)) -> c38(A__U41(a__U51(a__U52(mark(z0)), x1), x2), MARK(U51(U52(z0), x1))) MARK(U41(U51(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U51(a__U61(mark(z0), z1, z2), x1), x2), MARK(U51(U61(z0, z1, z2), x1))) MARK(U41(U51(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U51(a__U62(mark(z0), z1), x1), x2), MARK(U51(U62(z0, z1), x1))) MARK(U41(U51(length(z0), x1), x2)) -> c38(A__U41(a__U51(a__length(mark(z0)), x1), x2), MARK(U51(length(z0), x1))) MARK(U41(U51(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U51(cons(mark(z0), z1), x1), x2), MARK(U51(cons(z0, z1), x1))) MARK(U41(U51(s(z0), x1), x2)) -> c38(A__U41(a__U51(s(mark(z0)), x1), x2), MARK(U51(s(z0), x1))) MARK(U41(U51(x0, z1), x2)) -> c38(MARK(U51(x0, z1))) MARK(U41(U51(0, x1), x2)) -> c38(A__U41(a__U51(0, x1), x2)) MARK(U41(U51(nil, x1), x2)) -> c38(A__U41(a__U51(nil, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(A__U41(a__U51(a__zeros, x1), x2)) MARK(U41(U51(zeros, x1), x2)) -> c3(MARK(U51(zeros, x1))) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatIList(z0), x1), x2)) MARK(U41(U51(isNatIList(z0), x1), x2)) -> c3(MARK(U51(isNatIList(z0), x1))) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNatList(z0), x1), x2)) MARK(U41(U51(isNatList(z0), x1), x2)) -> c3(MARK(U51(isNatList(z0), x1))) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(A__U41(a__U51(a__isNat(z0), x1), x2)) MARK(U41(U51(isNat(z0), x1), x2)) -> c3(MARK(U51(isNat(z0), x1))) MARK(U41(U51(tt, x1), x2)) -> c3(A__U41(a__U51(tt, x1), x2)) MARK(U41(U51(tt, x1), x2)) -> c3(MARK(U51(tt, x1))) MARK(U41(U52(zeros), x1)) -> c38(A__U41(a__U52(a__zeros), x1), MARK(U52(zeros))) MARK(U41(U52(U11(z0)), x1)) -> c38(A__U41(a__U52(a__U11(mark(z0))), x1), MARK(U52(U11(z0)))) MARK(U41(U52(U21(z0)), x1)) -> c38(A__U41(a__U52(a__U21(mark(z0))), x1), MARK(U52(U21(z0)))) MARK(U41(U52(U31(z0)), x1)) -> c38(A__U41(a__U52(a__U31(mark(z0))), x1), MARK(U52(U31(z0)))) MARK(U41(U52(U41(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U41(mark(z0), z1)), x1), MARK(U52(U41(z0, z1)))) MARK(U41(U52(U42(z0)), x1)) -> c38(A__U41(a__U52(a__U42(mark(z0))), x1), MARK(U52(U42(z0)))) MARK(U41(U52(isNatIList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatIList(z0)), x1), MARK(U52(isNatIList(z0)))) MARK(U41(U52(U51(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U51(mark(z0), z1)), x1), MARK(U52(U51(z0, z1)))) MARK(U41(U52(U52(z0)), x1)) -> c38(A__U41(a__U52(a__U52(mark(z0))), x1), MARK(U52(U52(z0)))) MARK(U41(U52(isNatList(z0)), x1)) -> c38(A__U41(a__U52(a__isNatList(z0)), x1), MARK(U52(isNatList(z0)))) MARK(U41(U52(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__U52(a__U61(mark(z0), z1, z2)), x1), MARK(U52(U61(z0, z1, z2)))) MARK(U41(U52(U62(z0, z1)), x1)) -> c38(A__U41(a__U52(a__U62(mark(z0), z1)), x1), MARK(U52(U62(z0, z1)))) MARK(U41(U52(isNat(z0)), x1)) -> c38(A__U41(a__U52(a__isNat(z0)), x1), MARK(U52(isNat(z0)))) MARK(U41(U52(length(z0)), x1)) -> c38(A__U41(a__U52(a__length(mark(z0))), x1), MARK(U52(length(z0)))) MARK(U41(U52(cons(z0, z1)), x1)) -> c38(A__U41(a__U52(cons(mark(z0), z1)), x1), MARK(U52(cons(z0, z1)))) MARK(U41(U52(0), x1)) -> c38(A__U41(a__U52(0), x1), MARK(U52(0))) MARK(U41(U52(tt), x1)) -> c38(A__U41(a__U52(tt), x1), MARK(U52(tt))) MARK(U41(U52(s(z0)), x1)) -> c38(A__U41(a__U52(s(mark(z0))), x1), MARK(U52(s(z0)))) MARK(U41(U52(nil), x1)) -> c38(A__U41(a__U52(nil), x1), MARK(U52(nil))) MARK(U41(U52(x0), x1)) -> c38(MARK(U52(x0))) MARK(U41(U61(zeros, x1, x2), x3)) -> c38(A__U41(a__U61(a__zeros, x1, x2), x3), MARK(U61(zeros, x1, x2))) MARK(U41(U61(U11(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U11(mark(z0)), x1, x2), x3), MARK(U61(U11(z0), x1, x2))) MARK(U41(U61(U21(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U21(mark(z0)), x1, x2), x3), MARK(U61(U21(z0), x1, x2))) MARK(U41(U61(U31(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U31(mark(z0)), x1, x2), x3), MARK(U61(U31(z0), x1, x2))) MARK(U41(U61(U41(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U41(mark(z0), z1), x1, x2), x3), MARK(U61(U41(z0, z1), x1, x2))) MARK(U41(U61(U42(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U42(mark(z0)), x1, x2), x3), MARK(U61(U42(z0), x1, x2))) MARK(U41(U61(isNatIList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatIList(z0), x1, x2), x3), MARK(U61(isNatIList(z0), x1, x2))) MARK(U41(U61(U51(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U51(mark(z0), z1), x1, x2), x3), MARK(U61(U51(z0, z1), x1, x2))) MARK(U41(U61(U52(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__U52(mark(z0)), x1, x2), x3), MARK(U61(U52(z0), x1, x2))) MARK(U41(U61(isNatList(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNatList(z0), x1, x2), x3), MARK(U61(isNatList(z0), x1, x2))) MARK(U41(U61(U61(z0, z1, z2), x1, x2), x3)) -> c38(A__U41(a__U61(a__U61(mark(z0), z1, z2), x1, x2), x3), MARK(U61(U61(z0, z1, z2), x1, x2))) MARK(U41(U61(U62(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(a__U62(mark(z0), z1), x1, x2), x3), MARK(U61(U62(z0, z1), x1, x2))) MARK(U41(U61(isNat(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__isNat(z0), x1, x2), x3), MARK(U61(isNat(z0), x1, x2))) MARK(U41(U61(length(z0), x1, x2), x3)) -> c38(A__U41(a__U61(a__length(mark(z0)), x1, x2), x3), MARK(U61(length(z0), x1, x2))) MARK(U41(U61(cons(z0, z1), x1, x2), x3)) -> c38(A__U41(a__U61(cons(mark(z0), z1), x1, x2), x3), MARK(U61(cons(z0, z1), x1, x2))) MARK(U41(U61(tt, x1, x2), x3)) -> c38(A__U41(a__U61(tt, x1, x2), x3), MARK(U61(tt, x1, x2))) MARK(U41(U61(s(z0), x1, x2), x3)) -> c38(A__U41(a__U61(s(mark(z0)), x1, x2), x3), MARK(U61(s(z0), x1, x2))) MARK(U41(U61(x0, z1, z2), x3)) -> c38(MARK(U61(x0, z1, z2))) MARK(U41(U61(0, x1, x2), x3)) -> c38(A__U41(a__U61(0, x1, x2), x3)) MARK(U41(U61(nil, x1, x2), x3)) -> c38(A__U41(a__U61(nil, x1, x2), x3)) MARK(U41(U62(zeros, x1), x2)) -> c38(A__U41(a__U62(a__zeros, x1), x2), MARK(U62(zeros, x1))) MARK(U41(U62(U11(z0), x1), x2)) -> c38(A__U41(a__U62(a__U11(mark(z0)), x1), x2), MARK(U62(U11(z0), x1))) MARK(U41(U62(U21(z0), x1), x2)) -> c38(A__U41(a__U62(a__U21(mark(z0)), x1), x2), MARK(U62(U21(z0), x1))) MARK(U41(U62(U31(z0), x1), x2)) -> c38(A__U41(a__U62(a__U31(mark(z0)), x1), x2), MARK(U62(U31(z0), x1))) MARK(U41(U62(U41(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U41(mark(z0), z1), x1), x2), MARK(U62(U41(z0, z1), x1))) MARK(U41(U62(U42(z0), x1), x2)) -> c38(A__U41(a__U62(a__U42(mark(z0)), x1), x2), MARK(U62(U42(z0), x1))) MARK(U41(U62(isNatIList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatIList(z0), x1), x2), MARK(U62(isNatIList(z0), x1))) MARK(U41(U62(U51(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U51(mark(z0), z1), x1), x2), MARK(U62(U51(z0, z1), x1))) MARK(U41(U62(U52(z0), x1), x2)) -> c38(A__U41(a__U62(a__U52(mark(z0)), x1), x2), MARK(U62(U52(z0), x1))) MARK(U41(U62(isNatList(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNatList(z0), x1), x2), MARK(U62(isNatList(z0), x1))) MARK(U41(U62(U61(z0, z1, z2), x1), x2)) -> c38(A__U41(a__U62(a__U61(mark(z0), z1, z2), x1), x2), MARK(U62(U61(z0, z1, z2), x1))) MARK(U41(U62(U62(z0, z1), x1), x2)) -> c38(A__U41(a__U62(a__U62(mark(z0), z1), x1), x2), MARK(U62(U62(z0, z1), x1))) MARK(U41(U62(isNat(z0), x1), x2)) -> c38(A__U41(a__U62(a__isNat(z0), x1), x2), MARK(U62(isNat(z0), x1))) MARK(U41(U62(length(z0), x1), x2)) -> c38(A__U41(a__U62(a__length(mark(z0)), x1), x2), MARK(U62(length(z0), x1))) MARK(U41(U62(cons(z0, z1), x1), x2)) -> c38(A__U41(a__U62(cons(mark(z0), z1), x1), x2), MARK(U62(cons(z0, z1), x1))) MARK(U41(U62(tt, x1), x2)) -> c38(A__U41(a__U62(tt, x1), x2), MARK(U62(tt, x1))) MARK(U41(U62(s(z0), x1), x2)) -> c38(A__U41(a__U62(s(mark(z0)), x1), x2), MARK(U62(s(z0), x1))) MARK(U41(U62(x0, z1), x2)) -> c38(MARK(U62(x0, z1))) MARK(U41(U62(0, x1), x2)) -> c38(A__U41(a__U62(0, x1), x2)) MARK(U41(U62(nil, x1), x2)) -> c38(A__U41(a__U62(nil, x1), x2)) MARK(U41(length(zeros), x1)) -> c38(A__U41(a__length(a__zeros), x1), MARK(length(zeros))) MARK(U41(length(U11(z0)), x1)) -> c38(A__U41(a__length(a__U11(mark(z0))), x1), MARK(length(U11(z0)))) MARK(U41(length(U21(z0)), x1)) -> c38(A__U41(a__length(a__U21(mark(z0))), x1), MARK(length(U21(z0)))) MARK(U41(length(U31(z0)), x1)) -> c38(A__U41(a__length(a__U31(mark(z0))), x1), MARK(length(U31(z0)))) MARK(U41(length(U41(z0, z1)), x1)) -> c38(A__U41(a__length(a__U41(mark(z0), z1)), x1), MARK(length(U41(z0, z1)))) MARK(U41(length(U42(z0)), x1)) -> c38(A__U41(a__length(a__U42(mark(z0))), x1), MARK(length(U42(z0)))) MARK(U41(length(isNatIList(z0)), x1)) -> c38(A__U41(a__length(a__isNatIList(z0)), x1), MARK(length(isNatIList(z0)))) MARK(U41(length(U51(z0, z1)), x1)) -> c38(A__U41(a__length(a__U51(mark(z0), z1)), x1), MARK(length(U51(z0, z1)))) MARK(U41(length(U52(z0)), x1)) -> c38(A__U41(a__length(a__U52(mark(z0))), x1), MARK(length(U52(z0)))) MARK(U41(length(isNatList(z0)), x1)) -> c38(A__U41(a__length(a__isNatList(z0)), x1), MARK(length(isNatList(z0)))) MARK(U41(length(U61(z0, z1, z2)), x1)) -> c38(A__U41(a__length(a__U61(mark(z0), z1, z2)), x1), MARK(length(U61(z0, z1, z2)))) MARK(U41(length(U62(z0, z1)), x1)) -> c38(A__U41(a__length(a__U62(mark(z0), z1)), x1), MARK(length(U62(z0, z1)))) MARK(U41(length(isNat(z0)), x1)) -> c38(A__U41(a__length(a__isNat(z0)), x1), MARK(length(isNat(z0)))) MARK(U41(length(length(z0)), x1)) -> c38(A__U41(a__length(a__length(mark(z0))), x1), MARK(length(length(z0)))) MARK(U41(length(cons(z0, z1)), x1)) -> c38(A__U41(a__length(cons(mark(z0), z1)), x1), MARK(length(cons(z0, z1)))) MARK(U41(length(s(z0)), x1)) -> c38(A__U41(a__length(s(mark(z0))), x1), MARK(length(s(z0)))) MARK(U41(length(x0), x1)) -> c38(MARK(length(x0))) MARK(U41(length(0), x1)) -> c38(A__U41(a__length(0), x1)) MARK(U41(length(tt), x1)) -> c38(A__U41(a__length(tt), x1)) MARK(U41(length(nil), x1)) -> c38(A__U41(a__length(nil), x1)) A__U62(tt, U41(zeros, x1)) -> c18(A__LENGTH(a__U41(a__zeros, x1))) K tuples:none Defined Rule Symbols: a__zeros, a__U11_1, a__U21_1, a__U31_1, a__U41_2, a__U42_1, a__U51_2, a__U52_1, a__U61_3, a__U62_2, a__isNat_1, a__isNatIList_1, a__isNatList_1, a__length_1, mark_1 Defined Pair Symbols: MARK_1, A__U41_2, A__U51_2, A__ISNAT_1, A__ISNATILIST_1, A__U61_3, A__U62_2, A__ISNATLIST_1, A__LENGTH_1 Compound Symbols: c40_1, c43_1, c46_1, c48_1, c51_1, c8_1, c12_1, c21_1, c22_1, c24_1, c35_1, c36_1, c37_1, c39_1, c42_1, c16_1, c18_2, c18_1, c26_1, c29_1, c32_1, c38_1, c_1, c41_2, c41_1, c1_1, c44_2, c44_1, c45_2, c45_1, c47_2, c47_1, c16_2, c26_2, c29_2, c32_2, c38_2, c2_1, c3_1